使用 KVM/QEMU 时出现严重随机减速问题

使用 KVM/QEMU 时出现严重随机减速问题

我在使用 KVM/QEMU 时遇到了一个严重问题,它严重影响了我的一个项目,我不知道该怎么办。

我已经设置了一台全新的物理服务器,该服务器配置了 2 个 Intel Xeon E5504 (4c/4t) 和 16GB RAM。我已经安装了 Ubuntu Server 14.04.1 (linux-image 3.13.0-44-generic) 以及 KVM 2.0.0+dfsg-2ubuntu1.10、QEMU 1.22、libvirt 1.2.2。

我需要设置几个 VM 实例,这些实例在需要分析大数据时必须按需启动,超时时间为 2 分钟(但它们应该在那之前结束),之后我会终止分析。我决定设置 8 个 VM(每个线程一个),每个 VM 分配 1GB 内存,并且所有 VM 都运行 Windows XP。所有 VM 都使用 qcow2 格式。

我安装了第一个虚拟机并对其进行了快照(virsh snap-create-as),然后在所有其他实例上复制了相同的快照。

第一次运行所有虚拟机时,一切都运行顺利,虚拟机启动和关闭都很完美。

然而,我打开和关闭它们一段时间后,所有虚拟机都开始变得非常慢,就像 KVM 不再进行硬件模拟,而 QEMU 又回到软件模拟一样。结果是所有分析都达到了关键超时并被终止

即使所有虚拟机同时运行,两个 CPU 也未 100% 加载,并且 RAM 本身只有 56% 繁忙,交换文件也完全空闲。

我尝试通过改变参数来调整 I/O 调度程序的截止时间:

读取有效期为 80 写入有效期为 1500 fifo 批处理为 16 前端合并为 1 写入匮乏为 6

我使用 io=native 磁盘配置设置了虚拟机。

最新一轮的调整改善了这种情况,但并没有解决问题,因为我只是增加了虚拟机在达到致命的减速(现在是几个小时后到达)之前可以无问题运行的时间。

你们中有人能帮我弄清楚为什么会发生这种情况吗?我不知道该去哪里了。

提前谢谢了!

相关内容