在运行 Windows 8.1 客户机的 Linux 上,VirtualBox 导致主机和客户机磁盘活动过多,并且滞后

在运行 Windows 8.1 客户机的 Linux 上,VirtualBox 导致主机和客户机磁盘活动过多,并且滞后

因此,在工作中我安装了 BunsenLabs Hydrogen(基于 Debian Jessie 构建,以及 #! 的延续)

我需要使用 Windows VM 来尝试使用 Visual Studio,但我真的很希望能够运行 Linux 作为我进行其他开发的主要操作系统(VS 几乎是我在 Windows 中唯一需要的东西)

我的问题是这样的:

每当 Windows 客户机执行几乎任何操作时,它都会导致非常高的磁盘活动(在 Windows 性能监视器中,延迟为 800 毫秒到 10k 毫秒)。在主机中,nmap 在虚拟机运行时大部分时间报告繁忙度在 90-101% 之间。

VM 会定期锁定并变得无响应,就好像磁盘以某种方式被阻塞了一样,一两分钟后就会清除(如预期的那样)。这几乎类似于我以前在家用 Windows 计算机上遇到的问题,因为我没有安装 raid 控制器驱动程序(即使我没有使用 raid 或 raid 卡),IO 会阻塞并锁定整个系统几分钟。

此外,主机操作系统会滞后(这种情况比虚拟机锁定更频繁地发生)。窗口拖动会滞后,或者更常见的是打字会滞后。例如,我将在 URL 栏或 Skype 之类的东西上打字,它会停止处理我的输入,几秒钟后它会打出我输入的内容。

补充一下,还有一点需要注意的是,更新速度非常慢。

还值得注意的是,到目前为止没有出现任何视觉滞后现象。

我的规格:戴尔 Optiplex 7020

我将虚拟机设置为

  • 4 核
  • 6GB 内存
  • 250GB 的精简配置磁盘空间。
  • 运行 Windows 8.1 Update 1

不幸的是,我只有一个驱动器,所以我无法移动它并看看这是否有帮助。但是,虚拟机几乎没有 CPU 使用率。当我尝试在 Windows 主机上从 VirtualBox 运行 Windows 10 VM 时也遇到过这种情况。

对我来说,一切似乎都指向磁盘,但我想听听第二种意见。我也想看看大家认为解决方案是什么,我正在考虑尝试获得一个或两个 SSD,一个用于运行虚拟机(我需要两个:一个由 VirtualBox 通过 Vagrant 运行的 ubuntu 服务器虚拟机,以及这个 Windows 虚拟机)我猜我的 Ubuntu Server vagrant VM 不会导致这些阻塞,因为磁盘使用量非常小。

更新 1

HDD status: smartctl -a /dev/sdb

http://pastebin.com/DMh0ycK9

SMART overall-health self-assessment test result: PASSED

更新 2

我不知道这会有多大用处,但是这里有一个客户端的 hdtune 基准测试:

截屏

一开始,nmon 上的繁忙百分比相当高,介于 85 - 100% 之间,周期性地跳到 101,即使在 0.0MB/s 使用率时也是如此。800MB/s 对我来说似乎很奇怪,并且在某些时候没有引起任何活动。

答案1

好吧,我不得不做了大量的调整和实验才弄清楚了这一点。虽然磁盘有点慢,而且实际上可能糟糕,我没有什么确凿的证据来证明这一点,也不确定(如果没有软件提供代码,戴尔不会退货授权

因此,要解决 VM 和滞后问题:

长话短说,我读到有人使用 KVM 修复了类似的问题。因此,我在 KVM 中设置了一个 Windows VM,果然问题消失了。我最终在 VirtualBox 中修复了这个问题,方法是转到 VM 设置 -> 系统 -> 加速 -> 将半虚拟化接口设置为 KVM 或 Hyper-V

因此,现在它可以正常运行虚拟机内部和外部的所有内容。

无论如何,希望这也能对其他人有用。

相关内容