8 pax/grsec kernels, 9 linux kernel vmalloc pool exhausted, 6 solaris hosts – Sun Microsystems VIRTUALBOX VERSION 3.1.0_BETA2 User Manual
Page 165: 1 cannot start vm, not enough contiguous memory
11 Troubleshooting
domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev
so that it contains
domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=85,devmode=664
As usual, replace the 85 with the actual group number which should get access to
USB devices.
Other distributions do similar operations in scripts stored in the /etc/init.d di-
rectory.
11.5.8 PAX/grsec kernels
Linux kernels including the grsec patch (see
derivates have to disable PAX_MPROTECT for the VBox binaries to be able to start a
VM. The reason is that VBox has to create executable code on anonymous memory.
11.5.9 Linux kernel vmalloc pool exhausted
When running a large number of VMs with a lot of RAM on a Linux system (say 20
VMs with 1GB of RAM each), additional VMs might fail to start with a kernel error
saying that the vmalloc pool is exhausted and should be extended. The error message
also tells you to specify vmalloc=256MB in your kernel parameter list. If adding this
parameter to your GRUB or LILO configuration makes the kernel fail to boot (with
a weird error message such as “failed to mount the root partition”), then you have
probably run into a memory conflict of your kernel and initial RAM disk. This can be
solved by adding the following parameter to your GRUB configuration:
uppermem 524288
11.6 Solaris hosts
11.6.1 Cannot start VM, not enough contiguous memory
The ZFS file system is known to use 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.
165