Virtualbox 来宾通过 SSH 响应速度非常慢,VBoxHeadLess 停留在 99.9% 的系统时间

Virtualbox 来宾通过 SSH 响应速度非常慢,VBoxHeadLess 停留在 99.9% 的系统时间

我一直在一台相对较新的笔记本电脑上使用 Vagrant/virtualbox,该笔记本电脑具有不错的规格(16GB 内存、Intel i7 4710HQ cpu、双 m-sata SSD)。

到目前为止,对于我运行的每个来宾,我都会遇到非常高的延迟,通过 SSH 进行的击键会在几秒钟后回显。 (我确实通过反向 DNS 查找和 GSSAPI 身份验证检查了常见的 SSH 连接问题,它们不适用,只会影响初始连接。)

同时(以及在其他随机时间)一个核心将旋转至 100% 利用率,这全部由 VBoxHeadLess 内部消耗select()

$ ps -o time -p  5257; time sudo strace -c -p 5257 ; ps -o time -p  5257
TIME         
00:23:51
Process 5257 attached
^CProcess 5257 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 99.95    3.214696      128588        25           select
  0.03    0.000822          29        28           read
  0.02    0.000521          23        23           futex
  0.01    0.000413          21        20           sched_yield
------ ----------- ----------- --------- --------- ----------------
100.00    3.216452                    96           total

real    0m3.81s
user    0m0.00s
sys     0m0.01s
    TIME
00:23:55

$ ps -fp  5257
UID        PID  PPID  C STIME TTY TIME     CMD
henk      5257 25788 45 16:34 ?   00:18:20 /usr/lib/virtualbox/VBoxHeadless

注意ps -o time输出:

00:23:51  (before)
00:23:55  (after)

结合time ...3.81s 的结果,这证实了该进程实际上将所有时间都花在内核中,只是等待事件。

同时,主机内核似乎正在旋转锁以解决该问题select()

我在一台更普通的 i5 笔记本电脑上使用了 virtualbox/vagrant,具有相同的 ubuntu 14.04,但从未见过这种行为。

问题:

  1. 我怎样才能更深入地找出这里cpu浪费过多的原因呢?
  2. 有人熟悉同样响应缓慢的 virtualbox 客户端吗?

更新

重新启动后,我无法毫无问题地运行我的盒子。可能的解释:我可能已经安装了内核更新而没有重新启动。

我还消除了虚拟化模块冲突的潜在问题。昨天我确实从内核中删除了 kvm 模块,但没有任何改进。今天,模块在重新启动后恢复正常,但对 vbox 性能没有影响。

相关内容