5.9. Oracle Solaris Hosts

5.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 Oracle VM VirtualBox VMs from being started. We recommend to limit the ZFS cache by adding the following line to /etc/system, where xxxx bytes is the amount of memory usable for the ZFS cache.

set zfs:zfs_arc_max = xxxx

5.9.2. VM Aborts With Out of Memory Errors on Oracle Solaris 10 Hosts

32-bit Oracle 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 an Oracle Solaris 10 install by choosing a Custom Install and changing the default partitions.

Note

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

For existing Oracle 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, run the following 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 -