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

Dav*_*vid 35 virtualbox vagrant homestead

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

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

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

小智 25

只有在您使用CoreOS时,EngineerCoder的答案才适用.

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

vagrant plugin install vagrant-vbguest

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

vagrant plugin update vagrant-vbguest

  • 好的,所以我尝试了这个,但仍然没有运气。:( 我将尝试禁用 nfs 并查看是否可以修复它。 (2认同)
  • 到目前为止,更新插件似乎有效.谢谢! (2认同)

Eng*_*der 15

请执行以下操作:

  • 在config.rb中设置$ enable_serial_logging = false
  • 流浪汉毁灭
  • 流浪汉
  • 在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

  • 这个“ config.rb”应该在哪里? (2认同)

小智 5

第 1 步:使来宾添加保持最新

确保你有 vbguest 插件,可以让你的来宾添加保持最新:

vagrant plugin update vagrant-vbguest
Run Code Online (Sandbox Code Playgroud)

如果尚未安装,您可以使用以下命令安装它:

vagrant plugin install vagrant-vbguest
Run Code Online (Sandbox Code Playgroud)

第 2 步:禁用声音

在 VirtualBox 窗口中:

  • 单击您正在使用的机器
  • 点击设置
  • 转到:音频选项卡
  • 取消选中“启用音频输出”和“启用音频输入”

第 3 步:减少一般 CPU 消耗

(可选)注意:此步骤会降低您的虚拟机最大性能!

您可以减少一般的 CPU 消耗:

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