CPU 使用率的暫時性突然增加不一定是個問題,但 CPU 使用率持續很高可能表明存在問題。您可以使用 CPU 效能圖監控主機、叢集、資源集區、虛擬機器和 vApp 的 CPU 使用率。

問題

  • 主機 CPU 使用率一直很高。高 CPU 使用率值會增加主機上虛擬機器的就緒時間和處理器佇列。
  • 虛擬機器 CPU 使用率超過 90%,且 CPU 就緒值超過 20%。應用程式效能將受到影響。

原因

  • 主機可能缺少滿足要求所需的 CPU 資源。
  • 相對於實體處理器核心數目,虛擬 CPU 可能太多。
  • 可能有 IO 儲存區或網路作業將 CPU 置於等待狀態。
  • 客體作業系統對 CPU 產生過多負載。

解決方案

  • 確認主機上的每台虛擬機器均已安裝 VMware Tools。
  • 將主機上或資源集區中其他虛擬機器的 CPU 使用率與此虛擬機器的 CPU 使用率值進行比較。主機的虛擬機器視圖上的堆疊橫條圖顯示主機上所有虛擬機器的 CPU 使用率。
  • 確定虛擬機器的高就緒時間是否起因於其 CPU 使用時間達到 CPU 限制設定。如果出現這種情況,請調高虛擬機器上的 CPU 限制。
  • 調高 CPU 共用率以便讓虛擬機器有更多機會可以執行。如果主機系統受到 CPU 約束,則主機上的總就緒時間可能仍維持在相同層級。如果主機就緒時間沒有減少,則為高優先順序虛擬機器設定 CPU 保留,保證它們接收所需要的 CPU 週期。
  • 增加配置給虛擬機器的記憶體數量。這可能會造成快取的應用程式的磁碟和/或網路活動減少。這可能會降低磁碟 I/O 和/或網路流量,進而降低 CPU 使用率。具有較少資源配置的虛擬機器通常會累積更多的 CPU 就緒時間。
  • 將虛擬機器上的虛擬 CPU 數目減少到執行工作負載所需要的數目。例如,四向虛擬機器上的單執行緒應用程式只能從單一 vCPU 中受益。而 ESXi 還需維護三個閒置 vCPU,佔用本可用來處理其他工作的 CPU 週期。
  • 如果主機不在 DRS 叢集中,則將它新增到一個叢集中。如果主機在 DRS 叢集中,則增加主機數目,並將一或多台虛擬機器移轉到新主機上。
  • 如有必要,請在主機上升級實體 CPU。
  • 使用最新版本的 Hypervisor 軟體並啟用 CPU 節省功能 (例如 TCP 分割卸載、大型記憶體分頁和 Jumbo 框架)。