web-dev-qa-db-ja.com

間隔設定を使用すると、mpstatに異なる値が表示されるのはなぜですか?

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

そして、1秒間隔で実行すると次のようになります。

$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%アイドルとして表示され、2番目のプロセスで約97%アイドルとして表示されるのはなぜですか?私はこれをさまざまな構成で試しましたが、mpstat自体が違いを生み出していない限り、CPU使用率の実際の違いではありません。

どの番号を信頼する必要がありますか?

3
Abe

Mpstatを初めて実行すると、サーバーがmpstatを実行した時点まで起動してからのアイドル時間が計算されます。

ただし、間隔を置いて実行すると、指定した定義時間内、ここでは1秒以内に値が取得されます。そして、起動してからその瞬間までの時間全体ではありません。

実際、iostat、vmstatはすべて、私が言ったのと同じように機能します。

4