41

所以我使用了几个流浪的盒子,当我把它们装起来时,“有时/随机”它开始在我的 OS X 机器上占用 100% 的 cpu,我不知道是什么原因造成的。我可以 ssh 进入 vmachine 并检查负载,它是 0,所以它不是在盒子里运行的东西。

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

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

4

4 回答 4

25

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

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

vagrant plugin install vagrant-vbguest

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

vagrant plugin update vagrant-vbguest

于 2015-02-12T20:22:52.543 回答
16

对于仅使用 CoreOS 的 Vagrant,请执行以下操作:

  • 设置$enable_serial_logging=falseconfig.rb
  • vagrant destroy
  • vagrant up
  • 观察 3% CPU 下的三个 VBoxHeadless 进程

此 PR是此信息的工作来源。


对于带有任何 vm 的 Vagrang,您还可以尝试禁用嵌套分页。

有关详细信息,请参阅“通过禁用嵌套分页来修复 VirtualBox 中的高访客 CPU 利用率”一文

于 2015-02-05T22:02:56.283 回答
5

第 1 步:让客人添加的内容保持最新

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

vagrant plugin update vagrant-vbguest

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

vagrant plugin install vagrant-vbguest

第二步:关闭声音

在 VirtualBox 窗口中:

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

第 3 步:减少一般 CPU 消耗

(可选)注意:此步骤将降低您的 vm 最大性能!

您可以减少一般 CPU 消耗:

  • 点击机器 --> 设置 --> 系统 --> 处理器
  • 降低执行上限。这限制了客户机 CPU 可以使用的主机 CPU 百分比。(默认为 100% - 无限制)。
于 2019-01-10T11:03:44.830 回答
0

我已禁用系统完整性保护以便能够用于iosnoop诊断高ioctl活动,这似乎会导致 100% 的 CPU 使用率。

问题消失了。所以我相信它与SIP有关。

于 2020-05-29T13:40:20.733 回答