ESXi 上虛擬機的 CPU 分配
我對 VMware 完全一無所知,但我最近在 ESXi 上設置了 4 個虛擬機。其中 3 台虛擬機非常非資源密集型(一個使用較少的文件伺服器、一個使用較少的域域控制器和一個 VMware vMA 主機),還有一個是資源密集型的(我的小公司裡有十幾個人使用的終端伺服器)辦公室)。
終端伺服器虛擬機在高峰時段執行非常緩慢。看一下 vSphere 中的性能摘要,CPU 似乎已經飆升了 90% 以上,我的磁碟延遲圖也有一些尖峰,偶爾會達到 500 毫秒左右。
我沒有在 VMware 中配置任何資源分配設置,並且一直認為它足夠聰明,可以在不太繁忙的 VM 不需要它們時允許更繁忙的 VM 使用可用資源。不過,情況似乎並非如此,因為整個伺服器的 CPU 圖表從未超過 10%,並且磁碟延遲從未超過 4 毫秒左右。
所以這告訴我,也許我需要在 VMware 中配置一些資源分配的東西,但我不太明白在這種情況下我應該配置什麼。我應該增加 vCPU 的數量還是配置處理器關聯?或者我應該使用共享或預訂功能嗎?本質上,我不想讓其他虛擬機完全缺乏資源,但我確實希望終端伺服器能夠使用看似可用的系統資源。
提前感謝您的任何指導。
在 ESXi 中,vCPU 將映射到真實 CPU 核心上的核心以進行計算。這意味著在具有 4 個核心的系統上配置有 1 個 vCPU 的 VM 使用的容量永遠不會超過系統容量的 1/4。一般而言,您不希望為虛擬機配置太多的 vCPU(因為額外的 vCPU 會增加成本),也不希望太少(因為您無法使用硬體的全部容量)。
對於您描述的這樣一個簡單的場景,您不應該搞亂資源分配系統或處理器親和性。預設情況下,ESXi 使用一個系統,該系統為每個虛擬機分配公平的資源份額,其中配置的資源用於計算虛擬機獲得多少份額。所以你真的不必擔心飢餓。
有很多關於 ESXi 的性能需要了解,但如果您想了解如何配置系統以獲得合理的性能,我建議您從閱讀最佳實踐開始。