[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 メーリングリストの案内