一个很好的性能监测工具dstat,实在是太强大了,可以完成vmstat,iostat,netstat等等工具才能完成的任务,而且是彩色显示的,各种情况一目了然,更美妙的它可通过参数来指定显示哪些内容,如只显示CPU、内存等等,一切都可以定制,实在是方便,确实不错哦!源码包安装:
# tar jxvf dstat-0.7.2.tar.bz2 && cd dstat-0.7.2
# make install
# cd && which dstat
/usr/bin/dstat
命令选项:
# dstat -h
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命令, 默认情况它会收集-cpu-,-disk-,-net-,-paging-,-system-的数据, 一秒钟收集一次. 默认输入dstat等于输入了dstat -cdngy 1或dstat -a 1
运行结果:# 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和几乎所有监控软件一样,只能对整个系统进行监控而不能对某一个进程或某 一个程序进行深入分析。
常用命令: 1.dstat -cdlmnpsy 在1024×768的屏幕上正好全部显示出来,最好是将上面的命令设置成别名 alias dstat='dstat -cdlmnpsy'
2.dstat -t --proc-count --top-cpu --top-mem --net-packets -lpmsa
分别显示统计时间/进程数量/占用cpu最多的进程名/占用内存最多的进程名/网络包发送量等等信息. 做个别名链接:
# alias dstat='dstat -t --proc-count --top-cpu --top-mem --net-packets -lpmsa 5'
# dstat
3.dstat -cndymlp -N total -D total 5 25
统计CPU,IO ,network,system load
4.dstat -cdnsil -D hda -N eth1
统计网卡1的信息