Central-Processing-Unit

當我使用間隔設置時,為什麼 mpstat 顯示不同的值?

  • January 28, 2015

這是我執行 mpstat 時得到的輸出:

$mpstat
Linux 3.2.0-30-generic (my-laptop-C650)     09/17/2012  _x86_64_    (2 CPU)

05:32:01 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
05:32:01 PM  all    9.16    0.08    2.69    2.00    0.00    0.04    0.00    0.00   86.02

這是我以一秒的間隔執行它時得到的結果:

$mpstat 1
05:31:51 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
05:31:52 PM  all    1.52    0.00    1.01    0.00    0.00    0.00    0.00    0.00   97.47
05:31:53 PM  all    2.04    0.00    1.02    0.00    0.00    0.00    0.00    0.00   96.94
05:31:54 PM  all    1.50    0.00    1.50    0.00    0.00    0.00    0.00    0.00   97.00

為什麼第一個程序將處理器顯示為 86% 空閒,而第二個程序將其顯示為 ~97% 空閒?我已經在一堆不同的配置中嘗試過這個,這在 CPU 使用率上並沒有真正的區別——除非 mpstat 本身有所作為。

我應該相信哪個號碼?

當您第一次執行 mpstat 時,它會計算從伺服器啟動到您執行 mpstat 的空閒時間。

但是,當您以間隔執行它時,您將在您指定的定義時間量內獲得值,這裡是 1 秒。而不是從啟動到那一刻的整個時間。

事實上,iostat、vmstat 的工作方式和我所說的一樣,

是的,總是間隔跑並接聽電話。這就是他們給出“平均”選項的原因。看一下系統監視器和圖表。你會看到它在 10 秒的間隙內有多大的波動。

我知道這個文章很舊,我仍然想回答。

引用自:https://serverfault.com/questions/429301