If there is very little /tmp space, the VM will be able to successfully mmap the performance data area in /tmp but when the VM attempts to access this memory region, it will crash with a SIGBUS if there is insufficient disk space in /tmp.
We have determined that the ftruncate call on Solaris reports out of space if there is insufficient disk space. This means that this fix is only require for Linux.
The suggested fix is to write a single byte to each page of the newly created file before mmaping it. This allows us to intercept the out of space condition prior to referencing the memory mapped area.
This fix is only required on Solaris and Linux.
The Windows implementation uses CreateFileMapping which by default attempts to allocate disk space for the mapped file.
"SEC_COMMIT Allocates physical storage in memory or in the paging file on disk for all pages of a section. This is the default setting."