为什么使用Vagrant的虚拟盒vboxheadless进程使用100%的cpu?

时间:2015-02-03 07:10:47

标签: vagrant virtualbox homestead

所以我使用了几个流浪盒,当我把它们拿起来时,"有时/随机"它开始在我的OS X机器上占用100%的CPU,我不知道是什么导致它。我可以直接进入vmachine并检查负载,它在0处,它不是在盒子里运行的东西。

我可以解决这个问题的唯一方法是,如果我暂停它并恢复它,那么它就会消失,直到它随机开始再次发生。有时几小时后,有时几天后。

我唯一能想到的可能是因为我在我的虚拟机中使用nfs挂载来访问我的项目,但我还不确定。有任何想法吗?

4 个答案:

答案 0 :(得分:23)

EngineerCoder的答案仅适用于您使用CoreOS的情况。

如果VirtualBox Extensions包版本与VirtualBox版本不同,我遇到了问题。另外,安装Vagrant VirtualBox客户插件:

vagrant plugin install vagrant-vbguest

确保在更新Virtualbox和扩展包时更新插件:

vagrant plugin update vagrant-vbguest

答案 1 :(得分:14)

请执行以下操作:

  • 在config.rb中设置$ enable_serial_logging = false
  • vagrant destroy
  • vagrant up
  • 在3%CPU
  • 下观察三个VBoxHeadless进程

并查看以下链接:

http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/09/22/fix-high-guest-cpu-utilization-in-virtualbox-by-disabling-nested-paging.aspx

https://github.com/coreos/coreos-vagrant/issues/98

答案 2 :(得分:2)

确保vbguest插件已更新

vagrant plugin update vagrant-vbguest

如果尚未安装,则可以使用

进行安装
vagrant plugin install vagrant-vbguest

现在,禁用声音 在VirtualBox窗口中:

  • 点击您正在使用的计算机
  • 点击设置
  • 转到:“音频”标签
  • 取消选中“启用音频输出”和“启用音频输入”

这种组合应该可以阻止Mojave-Virtualbox中可怕的CPU疯狂行为。

如果您想向前迈出一步。 您可以减少一般的CPU消耗:

  • 单击计算机->设置->系统->处理器
  • 降低执行上限。这限制了来宾CPU可以使用的主机CPU的百分比。 (默认值为100%-无限制)。

答案 3 :(得分:0)

我拥有disabled System Integrity Protection,以便能够使用iosnoop诊断高ioctl的活动,这似乎导致100%的CPU使用率。

问题消失了。因此,我认为这与SIP有关。