51 Responses

  1. Himanshu
    Himanshu at |

    I tried this on Ubuntu 9.04.
    my cpu usage still remains around 45% (it was the same before also)

  2. loomsen
    loomsen at |

    Hi shantz.

    Strange issue, I ran into some strange trouble with VirtualBox recently too. Like 3 times within 7 days my XP bluescreened and refused to boot afterwards whatsoever. So I had to backup an image I found on some external hd by chance, just to run into the same bluescreen -> unbotable state again.

    However, I had to suffer from a 2 low threshold setting (as I thought it was) as well. 85° and my Laptop would power off. Very annoying as such high loads usually only occur during builds.

    Finally I stumbled upon linux-phc, a module which enables undervolting.
    And actually, reading my cpu’s msr told me that the default vids were too high, namely 1,375V.
    Compared to what Intel defines as max, 1,175V, fixing this prevented my PC from temperature caused shutdowns ever since, my temperatures don’t exceed 80° anymore ever since, no matter what.

    I’ve been able to set the first 3 steps to the lowest possible voltage (hardcoded), the highest frequency to just one step higher.
    So, if you’re suffering from these shutdowns too, you might want to take a look at.

    http://www.linux-phc.org

    Enjoy

  3. Jent
    Jent at |

    The problem you described here is actually due to a bug in virtual box that has to do with the CPU affinity. In other words virtual box does not like switching between multiple cores.

    By starting a second virtual box instance you are basically doing the same thing as just setting the CPU affinity for the process. If you are running virtual box from a GNU/Linux host, you can use taskset to set the CPU affinity.

  4. Remiz
    Remiz at |

    Thanks man, I found a lot of posts about the subject but only your fix my problem… Also I’m too lazy and Linux noob to rebuild my kernel. So it’s a quick and dirty fix that works great :)

  5. Matt
    Matt at |

    Amazing, that fix works!

    I tried setting the processor affinity of the virtualbox processes to one CPU, but it doesn’t make a difference. As soon as I started up a “dummy” guest instance… CPU goes to almost 0%

  6. Marton
    Marton at |

    I solved the issue by:
    – changing my Windows XP installation to single core (using HALu: http://www.hardware.info/en-US/news/ym2cmZqYwp2a/Problems_updating_to_a_dualcore_CPU_Not_anymore/)
    – shutdown Windows XP
    – change the number of processors in VirtualBox from 2 to 1

  7. Idle VMs Hog CPU | Travis Vroman's CS460 Capstone: Guided Tour App

    […] seems ridiculous to have an idle VM consume 50% of my CPU cycles.  According to this page, the solution is two idle […]

  8. Ant
    Ant at |

    yep, taskset didnt help at all, but a headless 4mb ram guest with no boot disk, in a failed to boot state does. Thanks for the post! This was on centos 5

    VirtualBox-3.1-3.1.4_57640_rhel5-1

    Linux vms01.internal 2.6.18-164.2.1.el5PAE #1 SMP Wed Sep 30 13:32:13 EDT 2009 i686 i686 i386 GNU/Linux

    Intel(R) Xeon(R) CPU E3110 @ 3.00GHz

  9. xin44
    xin44 at |

    You’re a great guy !
    Solved my 100% cpu problem
    seven 64 ultimate host – centos 2.6.18 kernel guest

    thanks a lot !

  10. Vasilis
    Vasilis at |

    Hey dude! Nice hack!

    I can’t say it solved my CPU problem completely like for others here, but it def helped a lot! My CPU usage was about 70% and with the dummy guest its now down to 20% which makes life a bit easier.

    Mac OS X 10.6 (Host) – CentOS 5.4 (Guest)

    Thanks!

  11. Fani
    Fani at |

    Awesome.. This helped tremendously. I went from ~55 – 90% CPU usage and constant load avg of nearly 1 on a dual-core machine to like max 20% cpu usage by virtualbox and load avg of nearly 0 on the linux host OS.

    Amazing. This most likely has to do with a bug in VirtualBox wrt to cpu affinity. I have one cpu enabled out of 2.

  12. Jrm
    Jrm at |

    Hey,

    The following has completely solved the problem for me :

    ————-
    Your CPU will, by default, prompt Windows to load the ACPI-enabled SMP kernel. So when you switch to having Windows virtualized, this kernel remains and uses some ACPI registers that have severe virtualzation penalties (it talks to the BIOS). The solution is to force Windows to stop doing that. You can do this by going to Device Manager (right click on My Computer -> Hardware -> Device Manager), expanding ‘Comptuer’, right-clicking ‘ACPI Multiprocessor PC’, select ‘Update Driver…’, choose manual installation, from a list, and select ‘Standard PC’.

    Then reboot your guest VM.

  13. ego
    ego at |

    This solved my problem too. Thanks.

    user@ubuntuVM3:~$ VBoxManage list hostinfo
    Sun VirtualBox Command Line Management Interface Version 3.1.6
    (C) 2005-2010 Sun Microsystems, Inc.
    All rights reserved.

    Host Information:

    Host time: 2010-07-07T20:28:30.014000000Z
    Processor online count: 2
    Processor count: 2
    Processor#0 speed: 3000 MHz
    Processor#0 description: Intel(R) Xeon(TM) CPU 3.00GHz
    Processor#1 speed: 3000 MHz
    Processor#1 description: Intel(R) Xeon(TM) CPU 3.00GHz
    Memory size: 3898 MByte
    Memory available: 3064 MByte
    Operating system: Linux
    Operating system version: 2.6.32-19-server

  14. Neset Ozeren
    Neset Ozeren at |

    Thanks my friend, It is most practical solution to solve the problem.

  15. Mike
    Mike at |

    This is pretty much the most ridiculous thing I’ve ever heard of… but it worked… :) Thanks!

  16. mc
    mc at |

    Yes this is the only advice here that worked for me, thanks! (although I have a single CPU)

  17. mc
    mc at |

    I mean the one by Jrm.

  18. Massimiliano Beccaria
    Massimiliano Beccaria at |

    Hi there
    after having changed the driver to “Standard PC” the VM cannot boot anymore…
    Any other hint ?

  19. Jim Klimov
    Jim Klimov at |

    Thanks to the original poster. As others said, this seems crazy but has worked indeed!

    On one site we have a Solaris 10 system, which hosts a Linux VM under VirtualBox 3.0.12 in a local zone. This VM often does nothing inside, but the VM process ate about 80% of a CPU core.

    Note that a copy of this same setup with on our hardware behaves properly.

    We tried to fix this by CPU affinity as some other posts suggested (made a processor pool of one core and dedicated it to this local zone), but this did not help noticeably.

    But adding a DOS VM with the minimal 4Gb RAM, 1Gb Video RAM and no boot devices at all has helped indeed.

    Thanks a lot!
    //Jim Klimov

  20. Carlos Dias
    Carlos Dias at |

    Unfortunately the dummy VM doesn’t work for me.
    I have ubuntu 10.10 64bits. And try to run a Windows Vista image without success.
    The same image in Ubuntu 9.04 32 bits works fine.

    Please help.
    Carlos Dias

  21. rue
    rue at |

    This (awfully bizarre) trick really works like a charm.

    Thanks a lot for sharing this, my office got considerably quieter now.

  22. Venkat
    Venkat at |

    VM didn’t boot after setting to Standard PC, restarted VM(XP) in safe mode and changed back to ACPI and it booted normally.

  23. Venkat
    Venkat at |

    Even after creating dummy Guest, the trick didn’t work, Still trying to figure out the fix.

  24. rue
    rue at |

    VirtualBox 4 seems to have “fixed” this workaround. Sadly, not the bug for which it is required. Went back straight to 3.2

  25. Tony
    Tony at |

    The trick worked for me. MacBook Pro, REL 5.3 eating 80% of CPU when idling. Added 4Mb Ubuntu server and jacked with it just enough to get it to fail when starting. CPU dropped to the still outrageous 25% but it’s far better.

  26. Ycsoftware
    Ycsoftware at |

    This is really a work around not quite a solution but thanks for the trick. Now if we can get the Oracle people to work on the issue as this is very annoying.

    We created a video about it so if anybody knows some people at Oracle just send them the link.

    http://ycsoftware.net/virtualbox-high-cpu-problem-illustration/

  27. SmL9
    SmL9 at |

    Wow it actually works! My main OS is Windows 7 with VirtualBox version 4.0.0 running CentOS 5.4

  28. hayzey
    hayzey at |

    Works a treat for me. VirtualBox 4.0.8; host OS = Windows 7; guest OS = CentOS 4.5.

    I tried setting process affinity for the CentOS process with no luck. Bringing the dummy VM online (with no OS, halts immediately) lowers CPU from 30% to 2%!

  29. user21
    user21 at |

    Hi, the high cpu usage is back in 4.1 version.

  30. roger
    roger at |

    This worked for me: since I have quad core just creating and runnning one “dummy” VM doesn’t work (what it does is trick Vbox into assigning just one core per VM). So what I had to do is go into program files\virtualbox and “pin” every executable within virtualbox to cpu_0
    Then it works.

  31. High CPU Usage VirtualBox « DATA's BASE
    High CPU Usage VirtualBox « DATA's BASE at |

    […] belum menemukan jawaban pasti kenapa bug ini bisa muncul. Seorang user bernama Jent dalam sebuah website mengatakan : The problem you described here is actually due to a bug in virtual box that has to do […]

  32. laamanni
    laamanni at |

    Worked for me also.
    Host: Win7_x64 4GB ram VirtualBox 4.1.1
    Guest: Fedora 15 PAE i686

    CPU usage dropped from ~25% -> ~5%
    I tried many things before, like:
    -divider=10 (kernel)
    -Disable X window
    -set cpu affinity from taskmgr.exe
    -yelling & pulling hair
    -asking help
    ^- and nothing from the above list worked… …like a dummy VM

  33. Josh
    Josh at |

    Was running Ubuntu 8.10 client on VirtualBox 4.1.2 on Mac 10.6 host when this started.

    Fixed it by checking the “Enable IO APIC” box in the System processor section.

    Hope this helps somebody!

  34. Turner
    Turner at |

    Hi. I have got the same problem. But…can somebody tell me, how to create the new dummy guest machine in Virtual Box?

    Thanks a lot!

  35. Seny
    Seny at |

    - Set 1 CPU
    – Uncheck “Enable IO APIC”
    – Uncheck “Enable Nested Paging”

    That finally worked for me after messing up with the settings for a while. Host Mac OS 10.6.8, guest CentOS 6, VirtualBox 4.1.4.

  36. Benny
    Benny at |

    This fix is still working. Great job!
    Thanks

  37. desertking
    desertking at |

    - Set 1 CPU
    – Uncheck “Enable IO APIC”
    – Uncheck “Enable Nested Paging”

    These settings worked for me too! I went from >100% cpu to less than 5%! I had a dummy guest running but that didn’t fix the problem but the above settings did.

    host Oracle Linux 6.3 guest CentOS 6.3

  38. Johny
    Johny at |

    Wow, seems to be working actually, i was using Microsoft Expression Web Virtual Box 4.2.4 r81684 with Linux Mint 14 64 Bits with gnome shell, CPU its using like 4 – 5 % of it, actually processor manager eats more lol, created tha machine and closed it, will continue posting if this works for me, thaks anyway!

  39. Johny
    Johny at |

    Dude id love you!!!! seriusly, it worked, second day using a Xp Sp2 as host asigned to it 600 mb and wow, it is iddle my virtual machine, id keep open tha machine with 4 mb ram and nothing running and 14 20 cpu usage, thanks again, id love you!!!

  40. Ivo
    Ivo at |

    The combination of creating a 4MB non-harddisk Dos VM and unchecking the “Enable Nested Paging” in my CentOS 6.3 VM gave maximum results. VirtualBox CPU usage on my later-2012 iMac dropped from 90% to about 8%. The high-cpu processes in CentOS 6.3, by the way, were ‘gnome-system-monitor’ and ‘Xorg’. After applying both tips cpu usage of ‘gnome-system-monitor’ decreased to 3% and ‘Xorg’ cpu usage decreased to 0%. All measurements in idle mode.

    Big thanks to Ant and Seny.

    Booting the CentOS is also twice as fast now.

    + VirtualBox 4.2.8
    + Mac OS 10.8.2
    + CentOS 6.3

  41. Daniel
    Daniel at |

    Another way to kill your host with high cpu load, when running multiple virtualbox machines:

    “bridge a lot lof network interfaces”

    Try disabling bridges and think again about any bridged network loops that might have existed.

  42. Roberto
    Roberto at |

    I am running VirtualBox 4.2.12 on a Lubuntu 12.10 64bit, guest OS is a Windows7 64bit.
    The CPU was fixed at 35% with an idle guest.

    I have only unchecked the “Enable Nested Paging” option: now the percentage is between 0% and 1%, I could not ask for more.

    Thanks to all of you that have shared their experience.

  43. Rohit
    Rohit at |

    Its only working trick to decrease virtualbox high cpu uses. thanks

  44. vaibhav
    vaibhav at |

    I installed three windows , and i want to running all three windows , but when i try to run the 2 windows , my laptop hangs ..
    1 windows was working fine , problem faced when i try to run the second windows ..

    what is the issue , please solve it ,

  45. High CPU usage when running a CentOS guest in VirtualBox - Just just easy answers

    […] Have you tried to start a second virtual box instance, and run it at the same time, as described here: http://tech.shantanugoel.com/2009/07/07/virtualbox-high-cpu-usage-problem-solved.html […]

  46. Dusan
    Dusan at |

    Hi,
    I cannot believe it but like you said. I have created virtual system for windows XP with 4 MB Ram and dynamic disc. Then my CPU problem is almost gone.
    Thanks man.

  47. ToBe
    ToBe at |

    didn’t worked for me (Host: LinuxMint17 64bit; all Guests)

    My only solution I found is to reistall VirtualBox4.3 – that cost me some seconds – after that virtual guests are running fine again… untill I don’t know ;-)

    I think the solutions is something different, but with reinstalling it does ist. maybe its switching the process number…

    Good Luck – maybe this helps somebody!

  48. Paul
    Paul at |

    Hmmm. How strange. It does reduce the cpu usage considerably.

Comments are closed.