设置如下。Ubuntu-11.10 VM 在 ESXi 主机上运行。VM 分配有 3 个 vCPU。
运行 dump(备份硬盘)时,似乎所有进程都分配给了第一个 vCPU。由于我们使用了压缩,这会使 vCPU 负载达到 100%,从而使 dump 速度变得非常缓慢。
我(通过使用任务集)将转储进程分散到其他 vCPU,从而使备份速度提高了 3 倍。它们的原始亲和性设置为 0-2,如果我删除设置的亲和性,它们都会移回第一个 vCPU。
我无法理解是什么原因导致调度程序将所有进程分配给同一个 CPU。有人能解释一下为什么任务调度程序会这样做吗?
答案1
3 个 vCPU 不是正常设置。使用 2 个或 4 个 vCPU 再次尝试。我只是好奇行为是否会改变。您不需要为这样的进程设置任何 CPU 亲和性。
底层 ESXi 主机是什么样子的?它的规格是什么?
您实际上是dump
在使用命令,还是正在使用其他备份实用程序?该实用程序是单线程的还是多线程的?
编辑:
我认为这可能与使用的压缩有关。我正在我的环境中进行测试以查看:
sudo /sbin/dump -0uanj -f - / | ssh -c blowfish [email protected] dd of=/Path/to/backup/file