
設定如下。在 ESXi 主機上執行的 Ubuntu-11.10 VM。該虛擬機器分配了 3 個 vCPU。
當運行 dump (備份硬碟)時,似乎所有進程都分配給第一個 vCPU。由於我們使用壓縮,因此 vCPU 負載為 100%,從而使轉儲速度減慢。
我(透過使用任務集)將轉儲進程分散到其他 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