12.9. Solaris hosts

Oracle VM VirtualBox

12.9. Solaris hosts

12.9.1. Cannot start VM, not enough contiguous memory

The ZFS file system is known to use nearly all available RAM as cache if the default system settings are not changed. This may lead to a heavy fragmentation of the host memory preventing VirtualBox VMs from being started. We recommend to limit the ZFS cache by adding a line

set zfs:zfs_arc_max = xxxx

to /etc/system where xxxx bytes is the amount of memory usable for the ZFS cache.

12.9.2. VM aborts with out of memory errors on Solaris 10 hosts

32-bit Solaris 10 hosts (bug 1225025) require swap space equal to, or greater than the host's physical memory size. For example, 8 GB physical memory would require at least 8 GB swap. This can be configured during a Solaris 10 install by choosing a 'custom install' and changing the default partitions.

Note

This restriction applies only to 32-bit Solaris hosts, 64-bit hosts are not affected!

For existing Solaris 10 installs, an additional swap image needs to be mounted and used as swap. Hence if you have 1 GB swap and 8 GB of physical memory, you require to add 7 GB more swap. This can be done as follows:

For ZFS (as root user):

zfs create -V 8gb /_<ZFS volume>_/swap
swap -a /dev/zvol/dsk/_<ZFS volume>_/swap

To mount if after reboot, add the following line to /etc/vfstab:

/dev/zvol/dsk/_<ZFS volume>_/swap - - swap - no -

Alternatively, you could grow the existing swap using:

zfs set volsize=8G rpool/swap

And reboot the system for the changes to take effect.

For UFS (as root user):

mkfile 7g /path/to/swapfile.img
swap -a /path/to/swapfile.img

To mount it after reboot, add the following line to /etc/vfstab:

/path/to/swap.img - - swap - no -