CPU LOAD Average + 設定何時閾值

CPU LOAD Average + 設定何時閾值

我們有一個包含實體機硬體的集群

每台機器包含32個CPU

# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                32
On-line CPU(s) list:   0-31
Thread(s) per core:    2
Core(s) per socket:    8

現在我們希望每次正常運行時間到 5 分鐘的平均負載達到閾值時發送警報

據我了解,當平均負載(正常運行時間 5 分鐘)值超過 32(CPU 數量)時,我們需要擔心

我對麼 ?

答案1

平均負載主要不會顯示 CPU 負載,它是工作項佇列長度的近似值。在現實生活中,這通常更受 I/O 等待中浪費的 CPU 週期的影響,然後是實際使用的 CPU 週期(當然,這取決於工作負載)。

查看該top工具以確定您的 CPU 如何花費時間的初步估計。根據經驗(並且僅有的因此)考慮

  • User百分比是健康的 - 您的機器使用良好
  • Sys百分比可能表示應用程式效率不高(或 VM 來賓運行未最佳化的作業系統/驅動程式組合)
  • Wait時間意味著您的 I/O(很可能是儲存)無法跟上。這可能再次表明需要在應用程式內部進行最佳化,或者只是對儲存硬體要求過高(最值得關注的地方:旋轉磁碟是否用於延遲敏感的工作負載?您是否使用 RAID5 進行小型寫入?)

相關內容