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

问题描述 投票:0回答:4

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

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

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

vagrant virtualbox homestead
4个回答
26
投票

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

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

vagrant plugin install vagrant-vbguest

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

vagrant plugin update vagrant-vbguest


17
投票

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

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

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


对于 Vagrang 与任何虚拟机,您还可以尝试禁用嵌套分页。

有关更多信息,请参阅 “通过禁用嵌套分页来修复 VirtualBox 中的高来宾 CPU 利用率”文章


5
投票

第 1 步:及时更新客人添加内容

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

vagrant plugin update vagrant-vbguest

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

vagrant plugin install vagrant-vbguest

第 2 步:禁用声音

在 VirtualBox 窗口中:

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

第3步:减少一般CPU消耗

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

您可以减少一般CPU消耗:

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

0
投票

我已禁用系统完整性保护,以便能够使用

iosnoop
诊断高
ioctl
活动,这似乎导致 100% CPU 使用率。

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

© www.soinside.com 2019 - 2024. All rights reserved.