dstatが素晴らしい
dstatというコマンドがあるのですが、これが非常に便利でした。 iostat, vmstat, netstat等のコマンドがこれ1個で済みます。 入っていなければ、yumで取れます。
$ dstat -a ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 13 4 81 2 0 0| 10k 48k| 0 0 | 296B 1025B| 221 757 2 1 97 1 0 0| 0 100k| 0 0 | 0 0 | 409 653 5 2 94 0 0 0| 0 0 | 296B 97B| 0 0 | 973 1814
実際には色付きで表示されて見やすい。
さらに、-oオプションCSVファイルに出力してくれる。
dstat -a
はdstat -cdngy
と同じ。t
をつけると時刻がつく。
$ dstat -tcdngy Terminal width too small, trimming output. ----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging--> time |usr sys idl wai hiq siq| read writ| recv send| in out > 07-04 00:33:09| 13 4 81 2 0 0| 10k 48k| 0 0 | 295B 1023B> 07-04 00:33:10| 1 1 98 0 0 0| 0 0 | 66B 86B| 0 0 > 07-04 00:33:11| 2 1 97 0 0 0| 0 0 | 0 0 | 0 0 > 07-04 00:33:12| 2 1 96 2 0 0| 0 16k| 0 0 | 0 0 > 07-04 00:33:13| 2 1 98 0 0 0| 0 0 | 0 0 | 0 0 > 07-04 00:33:14| 3 1 96 0 0 0| 0 0 | 0 0 | 0 0 >
-f
をつけると個別のCPUやディスクごとに展開される。
$ dstat -c -f -------cpu0-usage--------------cpu1-usage--------------cpu2-usage--------------cpu3-usage------ usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq 5 2 92 2 0 0: 34 12 53 0 0 0: 32 9 58 0 0 0: 32 10 58 0 0 0 2 1 96 1 0 0: 4 1 95 0 0 0: 1 0 99 0 0 0: 2 0 98 0 0 0 2 2 96 0 0 0: 2 1 97 0 0 0: 2 1 97 0 0 0: 2 1 97 0 0 0 1 0 99 0 0 0: 1 0 99 0 0 0: 2 0 98 0 0 0: 1 0 99 0 0 0 1 1 98 0 0 0: 1 0 99 0 0 0: 1 0 99 0 0 0: 1 1 98 0 0 0
-C
オプションや-D
オプションでCPUやディスクの指定もできる。
$ dstat -cd -C 0,1 -D sda -------cpu0-usage--------------cpu1-usage------ --dsk/sda-- usr sys idl wai hiq siq:usr sys idl wai hiq siq| read writ 5 2 92 2 0 0: 34 12 54 0 0 0| 10k 48k 4 1 95 0 0 0: 5 1 94 0 0 0| 0 0 2 1 94 3 0 0: 2 0 98 0 0 0| 0 100k 3 3 94 0 0 0: 2 1 97 0 0 0| 0 0 3 2 95 0 0 0: 5 0 95 0 0 0| 0 0
コマンドの引数がセンスないのが、唯一の欠点。-cdngy
とかはオプション引数じゃないよね?普通はハイフンは不要だ。