设置如下。 在ESXi主机上运行的Ubuntu-11.10 VM。 VM有3个vCPU分配。
运行转储(备份硬盘)时,似乎所有进程都分配给第一个vCPU。 当我们使用压缩时,会将vCPU加载到100%,从而减慢转储的速度。
我(通过使用taskset)将转储进程分散到其他vCPU,从而获得了3倍的备份加速。 他们原来的亲和力被设置为0-2,如果我删除亲和力,我已经设置他们都回到第一个vCPU。
我无法理解可能导致调度程序将所有进程分配给同一个CPU的原因。 有人可以解释为什么任务调度程序可能会这样吗?
3个vCPU不是一个正常的设置。 用2或4个vCPU再试一次。 我只是好奇,如果行为会改变。 您不需要为此类进程设置任何CPU关联。
底层的ESXi主机是什么样的? 它的规格是什么?
你真的使用dump命令,还是有另一个备份工具在使用? 这个工具是单线程的还是multithreading的?
编辑:
我想这可能与使用中的压缩有关。 我在我的环境中testing看到:
sudo /sbin/dump -0uanj -f - / | ssh -c blowfish [email protected] dd of=/Path/to/backup/file