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使用率の実際の違いではありません。
どの番号を信頼する必要がありますか?
Mpstatを初めて実行すると、サーバーがmpstatを実行した時点まで起動してからのアイドル時間が計算されます。
ただし、間隔を置いて実行すると、指定した定義時間内、ここでは1秒以内に値が取得されます。そして、起動してからその瞬間までの時間全体ではありません。
実際、iostat、vmstatはすべて、私が言ったのと同じように機能します。