一个很好的性能监测工具dstat


无意中发现一个很好的性能监测工具dstat,实在是太强大了,可以完成vmstat,iostat,netstat等等工具才能完成的任务,而且是彩色显示的,各种情况一目了然,更美妙的它可通过参数来指定显示哪些内容,如只显示CPU、内存等等,一切都可以定制,实在是方便,不过有些功能还是要用像iostat这样的工具来做,不过还是强列推荐dstat确实不错。

Dstat options:
-c, --cpu 显示CPU情况
-C 0,3,total include cpu0, cpu3 and total
-d, --disk 显示磁盘情况
-D total,hda include hda and total
-g, --page enable page stats
-i, --int enable interrupt stats
-I 5,eth2 include int5 and interrupt used by eth2
-l, --load enable load stats
-m, --mem 显示内存情况
-n, --net 显示网络情况
-N eth1,total 可以指定网络接口
-p, --proc enable process stats
-s, --swap 显示swap情况
-S swap1,total 可以指定多个swap
-t, --time enable time counter
-y, --sys enable system stats
--ipc 报告IPC消息队列和信号量的使用情况 
--lock enable lock stats
--raw enable raw stats
--tcp enable tcp stats
--udp enable udp stats
--unix enable unix stats

-M stat1,stat2 enable external stats
--mods stat1,stat2

-a, --all 使用-cdngy 缺省的就是这样显示
-f, --full 使用 -C, -D, -I, -N and -S 显示
-v, --vmstat 使用-pmgdsc -D 显示

--integer show integer values
--nocolor disable colors (implies --noupdate)
--noheaders 只显示一次表头以后就不显示了,使用重定向写入文件时很有用
--noupdate disable intermediate updates
--output file 写入到CVS文件中
# dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq|_read _writ|_recv _send|__in_ _out_|_int_ _csw_
13 49 29 8 1 1| 424k 23k| 0 0 | 0 0 | 275 200
0 1 95 3 0 1|8192B 0 | 297B 70B| 0 0 | 241 33
0 1 99 0 0 0| 0 0 | 92B 0 | 0 0 | 243 14
0 1 99 0 0 0| 0 0 | 395B 0 | 0 0 | 244 20

很简单,一看就明白了,要说明的是如果当usr和sys的数值大于80时说明cpu的负载过重,这个软件和vmstat很像,不过和vmstat相比好像少 了io部份的显示dstat只能显示磁盘的吞吐量而不是显示负载情况,dstat和几乎所有监控软件一样,只能对整个系统进行监控而不能对某一个进程或某 一个程序进行深入分析。如果你知道如何设置,请通知我。
常使用的参数是

dstat -cdlmnpsy

在1024×768的屏幕上正好全部显示出来,最好是将上面的命令设置成别名

alias dstat='dstat -cdlmnpsy'
常用命令
dstat -cndymlp -N total -D total 5 25
统计CPU,IO ,network,system load

dstat -cdnsil -D hda -N eth1
统计网卡1的信息

dstat --vmstat
内存使用情况