Answers:
为了始终减少VirtualBox CPU使用率,请使用此怪异的方法。
创建一个新的虚拟机,并且不要在其上安装操作系统。告诉VirtualBox它将运行DOS,并提供绝对的最少资源。请勿安装操作系统。运行它,让它在启动时出错并最小化。
在第二个VM中运行实际的O / S时,您会看到空闲的Virtualbox CPU利用率下降到3-5%。
来自jed4czar的想法:http ://ubuntuforums.org/showthread.php?s=58e862a814e65eb96f8fe8389b615366&t=838073&page=2
编辑:直接回答您的问题
为什么虚拟机暂停时Virtualbox使用15-20%的CPU?
这是一个错误。除非使用提供的hack,否则在任何一台虚拟机启动时,它总是比需要多使用15-20%的CPU。
有办法避免吗?
请参阅上面的hack。
我使用DOS VM尝试了上述黑客攻击,但没有成功(在装有OS X的MacBook Pro上运行Ubuntu 12.04 guest虚拟机)。我还尝试了Oracle线程中提到的内核参数更改,再次没有更改。无论我做什么,我的客人似乎每个人都吃掉15-20%的CPU。但是,我注意到我恰好分配了2个CPU的一位来宾没有咀嚼15%至20%,它的表现符合预期。
果然,当我将其他切换到2个CPU时,问题消失了。根据以前的经验,我知道切换到2个CPU也会在主板部分启用IO APIC选项,因此我怀疑这是真正有趣的更改。也就是说,这个:
请注意,必须关闭机器才能更改此设置,否则它会变成灰色。一旦在来宾系统上启用了此功能并重新启动,则无论我是否拥有1个或更多CPU都没关系,CPU利用率15-20%消失了,因此我想在这里分享我的解决方案。
在VM中运行Oracle 5的Windows 7 Quad盒上,我遇到了同样的问题。
按照亚当的建议,我检查了“已启用IO APIC”选项,但无济于事。因此,我遵循了kmarsh的想法,该想法大概花了不到一分钟的时间,处理器使用率从15-20%降至4-5%。
使用的设置为:名称:Memory Hack,类型:其他,版本:DOS。内存大小:4MB,硬盘驱动器:不要添加虚拟硬盘驱动器。点击[创建]。启动VM会要求启动盘,我用过:主机驱动器'D:',单击[启动]。虚拟机状态:“致命:无法从引导介质中读取!系统已停止。” 那时,CPU使用率下降了,所以我将窗口最小化了。启动另一个虚拟机没有什么区别。
我在带有运行CentOS 5.5主机的3gigs ram的2-cpu P4机器上遇到了VirtualBox问题。
我在运行8位64位Win7的i720 8cpu计算机上没有遇到此问题。我运行了3个VMWare虚拟机以及VirtualBox,它们都具有2个内存,并且没有任何CPU问题。
这表明问题是在“小型”计算机上运行还是在Linux主机上运行。
您的解决方案效果很好,谢谢。
我注意到这些较早的文章已经使用了一年,而我的VirtualBox是最新的4.0.4版,因此Oracle尚未修复此错误。
其他答案不能为我解释或修复错误(Debian主机,暂停的Ubuntu来宾)。Oracle为此提供了一个部分:
即使来宾系统似乎处于空闲状态,某些Linux来宾也可能导致较高的CPU负载。这可能是由来宾内核的较高计时器频率引起的。一些Linux发行版(例如Fedora)附带了配置为1000Hz计时器频率的Linux内核。我们建议重新编译来宾内核,并选择100Hz的计时器频率。
红帽企业版Linux附带的Linux内核以及相关Linux发行版的内核(例如CentOS和Oracle Linux)都支持内核参数Divider = N。因此,此类内核支持较低的计时器频率而无需重新编译。我们建议您添加内核参数divider = 10,以选择100Hz的来宾内核计时器频率。