beautypg.com

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

background image

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

http://www.grsecurity.net/

) and

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