題 如何查看服務器的CPU負載?


查看RedHat Linux服務器的CPU負載的命令是什麼?


4
2017-07-29 13:29


起源




答案:


top  - 經典的方法

enter image description here

htop  - 豐富多彩的方法

enter image description here

mpstat  - 簡單明了

enter image description here

筆記

如果您想知道如何從輸出中讀取CPU負載 top 要么 mpstat,請看看  他們打印的價值。 CPU負載是100%與顯示值之間的差值。

如果您認為這很奇怪,請參閱我們的問題: 如何計算CPU使用率百分比? 


12
2017-07-29 13:32



謝謝,但它為每個進程提供了cpu負載。我想看看總CPU負載,例如85% - alwbtc
如果你看第一張圖片的頂行(程序頂部)。它有線 load average。之後的三個值是隨時間變化的負載平均值。 - Hennes
@alwbtc:他們都以各種形式給你。如果你看一下輸出 mpstat 你看到了 idle 的價值 99.24。這意味著我有一個CPU負載 0.76%。正如@Hennes所說,還有 平均負載 顯示,這是另一個 指示符 CPU負載如果您真的只想要一個返回單個百分比值的命令,那麼您可能希望對其輸出進行後處理 mpstat。 - Der Hochstapler


我個人認為看著 平均 一段時間的負荷是最好的。否則,根據時間的不同,您可能會得到完全不同的值。 (例如,輸入一個命令並按[Enter]可能會產生與之後按[Enter]一小段時間不同的結果。)

檢查平均負載的一些方法是:

  1. cat /proc/loadavg

    甲蟲:/ proc> cat loadavg
    0.45 0.19 0.13 1/263 17588

  2. uptime 也顯示了負載。

    蟾蜍:/家庭/亨尼斯>運行時間
    下午4:03上升155天,19:12,38位用戶,平均負載:0.16,0.17,0.12

  3. 通過 top。看看他的路線 load averages: 在右上角。

  4. HTOP

  5. mpstat的

  6. systat(例如systat -vmstat)


大多數這些程序為您提供三個數字:

  • 最後一分鐘的平均負載。
  • 最近五分鐘內的平均負載
  • 最近十五分鐘內的平均負載。

如果你有一個核心,那麼1或更多的負載表明核心在100%的時間都在忙。此數字可能超過1(或100%)。如果發生這種情況,則運行隊列中平均有多個進程。

如果您有多個CPU,那麼100%(或1.00)意味著一個平均一個核心始終處於忙碌狀態。例如。這可能意味著1核心運行平穩,3核心閒置。或者4個核心運行1/4的時間。


4
2017-07-29 14:14



謝謝,平均負載0.45表示:使用45%的CPU功率? - alwbtc
0.45表示使用45個單CPU核心。使用率為45%,閒置率為55%。 ----如果你有兩個核心並且負載為0.45,則使用45%的核心,155%的核心閒置;或兩個核心在22.5%的時間內使用,兩個核心在77.5%的時間內處於空閒狀態。 - Hennes
只是為了表達:如果我有一個24 CPU機器和 uptime說 load average: 65.12, 64.98, 64.16 然後這台機器嚴重超載? - helt
不,這可能意味著。但是有理由說明為什麼進程可以在運行隊列中而不實際使用CPU時間。 (例如在等待行動時)。 - Hennes