How to Fix Virtual Box High CPU Usage Issue for Mac OSX Guest
This post is a compilation of tricks suggested by various people over internet to fix this issue. I personally experienced this issue with my Virtual Box 4(Windows 7 Host) and Mac OSX 10.6 Guest. My problem has been fixed after applying these tricks.
First i wish tell you Virtual Box has some limitation in current version and correctly not able to handle power management for Mac OSX properly. May be this issue will be automatically fixed in future versions. As detailed on the Virtual Box website not all CPU supported at the moment for Mac OSX Guest.
How to Fix
1) Make sure Mac OSx Guest not indexing file system after first boot. If indexing wait for it to complete. Do not install any other software during this period. It lead to high cpu usage.
2) Disable Nested Paging here: Mac OSX -> Settings -> System -> Acceleration. See figure for more details on how to disable this setting.
3) Delete following Power Management Extension file System/Library/Extensions/AppleIntelCPUPowerManagement.kext and rebuild kext cache as stated below.
$cd /System/Library/Extensions/ $sudo rm -rf AppleIntelCPUPowerManagement.kext $sudo kextcache -system-caches
Shut down VM and VB Interface.
4) Open windows command prompt. If using other host OS please do the same.
Go to the Virtual Box directory and run below command.
VBoxManage setextradata "VM name" "VBoxInternal2/EfiBootArgs" " "
All done.. Restart Mac OSX.
Virtual Box Mac OSX limitations
Mac OSX Host
- Numlock emulation, CPU frequency metric and Memory ballooning not yet implemented in Virtual Box 4
Mac OSX Guest
- Mac OS X Server guests can only run on a certain host hardware.
- VirtualBox does not support Guest Additions for Mac OS X Server.
- Default graphics resolution is 1024×768 for Mac OS X Server.
- Mac OS X Server guests currently burn 100% CPU even when Idle. This is a power management issue that will be addressed in a future release.
- Limited to work with one CPU.
Wow! It worked even on my Linux host! Thx
Will the ‘VBoxManage setextradata “VM name” “VBoxInternal2/EfiBootArgs” ” “‘ command work in osx? there is no Virtual Box directory: only an app:
drwxr-xr-x 3 root admin 102 Jan 5 21:00 VirtualBox.app