[ubuntu-jp:2073] Re: top の Cpu が常に同じ値からスタートする

Mitsuru Ogino ogino @ verama.net
2009年 9月 6日 (日) 13:25:40 BST


荻野です。

top を使用しているのはどの Unix 系 OS でも使えるから、というのが理由だっ
たりしますので、Linux では今後は mpstat や vmstat を使うようにしようと思
います。

とみたまさひろ said the following on 09.9.6 8:19 AM:
>> vmstatにせよtopにせよ、みているのは同じなので、そもそものパフォーマンス
>> カウンタが妙なものを吐いている気配が……。
> 
> top は知りませんが、vmstat の最初の行は、ブートしてから現在までの平均値です。
> 
> vmstat(8) より
> | The first report produced gives averages since the last reboot.   Addi-
> | tional  reports  give information on a sampling period of length delay.
> | The process and memory reports are instantaneous in either case.

確かにこのマシンで vmstat を実行すると top と同じ us 24%, id 72% の数字
がでます。すると uptime が十分に長ければいつも同じ値になる、というのは仕
様ということですね。top(Linux の?)はこれを引き継いでいるのかも知れま
せん。

> $ vmstat 3 4
> procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
>  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
>  7  0  12916  14772 390784 495892    0    1   127   464    4    5 24  3 72  1
>  5  0  12916  13900 391840 496160    0    0     0  4531  394  192 28 72  0  0
>  5  0  12916  13036 392724 496180    0    0     0     0  112  168 26 74  0  0
>  5  0  12916  34832 393536 473056    0    0     0  2204  284  170 24 70  0  7

mpstat はインターバルを指定しなかったとき、同じく起動時からの値を表示
し、インターバルを指定したときは、起動後インターバル経過後に最初の値を出
すので、現時点の値を得ることができるようです。

vmstat:
vmstat と vmstat 5 1 は同じ。1回実行を指定した場合は 5秒間隔の指定に意味
はなく、即座に結果を出力して終了する

mpstat:
mpstat は mpstat 0 と同じで、mpstat 5 1 とは違う。mpstat / mpstat 0 は起
動時からの値、mpstat 5 1 はコマンド起動から 5秒間の値で、当然実行に 5秒
かかる。

top:
vmstat と同じように出力する(起動直後から出力されることから推定)


言われてみれば(特にシングルプロセッサでは)CPU 利用率というのは単位時間
がないと算出不能というのは納得できます。一方で、vmstat や top においてそ
の単位時間が一回目と二回目で違う、ということはあまり直感的でなく、多分私
以外にも知らなかったという人がいそうです。mpstat はその問題を比較的ス
マートに解決しているのかも知れません。また mpstat が最初に Linux 2.6.24…
というような行を出すのは mpstat 60 とかして1分間何も出力しないと利用者
が面食らうかもという意図があるのかも。

一方、load average については、3番目を表示するのに 15分かかってはいませ
んので、これはカーネル側でカウントしてるのでしょうか。だとすると、CPU 使
用率についても起動後からの平均だけでなく、過去 1分間平均、5分間平均、15
分間平均ぐらいがあるとかならなかったものかとも、ちょっとだけ思います。


ともあれ、疑問は解決しました。やはり私の勘違い、ということのようですが…
みなさま、どうもありがとうございました。

-- 
荻野 充 (おぎの みつる) ... 「萩(はぎ)」にあらず
Key fingerprint = 7F26 5414 1805 F31B 1617  10B7 C117 07AE 1691 9BD1



ubuntu-jp メーリングリストの案内