dstat命令是一个用来替换vmstat、iostat、netstat、和ifstat这些工具的。是一个全能系统信息统计工具。dstat非常强大,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况,与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如dstat -c即显示CPU的使用情况。
- usage:
- dstat [-afv] [options] [delay [count]]
- params:
- # dstat --list 可以查看dstat能使用的所有参数
- -c,--cpu 统计CPU状态,包括 user, system, idle, 等待磁盘IO,硬件中断,软件中断等;
- -d, --disk 统计磁盘读写状态
- -D total,sda 统计指定磁盘或汇总信息
- -l, --load 统计系统负载情况,包括1分钟、5分钟、15分钟平均值
- -m, --mem 统计系统物理内存使用情况,包括used, buffers, cache, free
- -s, --swap 统计swap已使用和剩余量
- -n, --net 统计网络使用情况,包括接收和发送数据
- -N eth1,total 统计eth1接口汇总流量
- -r, --io 统计I/O请求,包括读写请求
- -p, --proc 统计进程信息,包括runnable、uninterruptible、new
- -y, --sys 统计系统信息,包括中断、上下文切换
- -t 显示统计时时间,对分析历史数据非常有用
- --fs 统计文件打开数和inodes数
- --nocolor 不显示颜色
- --socket 显示网络统计数据
- --tcp 显示常用的tcp统计
- --udp 监听的UDP接口及其当前用量的一些动态数据
- 另外dstat附带了一些强大的插件,可以通用/usr/share/dstat查看。常用的有
- --dist-util 显示某一时间磁盘的忙碌情况
- --freespace 显示当前磁盘的使用率
- --proc-count 显示正在运行的程序数量
- --top-bio 显示块I/O最大的进场
- --top-cpu 显示CPU占用最大的进程
- --top-io 显示正常I/O最大的进程
- --top-mem 显示占用最多内存的进场
-
- example:
- # dstat
- //cpu-usgae
- //usr 用户进场消耗cpu的时间百分比 sys内核进程消耗的CPU时间百分比
- //idl CPU处在空闲状态时间百分比
- //wai IO等待消耗的CPU时间百分比
- //hiq 硬中断 siq 软中断
- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
- usr sys idl wai hiq siq| read writ| recv send| in out | int csw
- 0 0 99 0 0 0|7706B 164k| 0 0 | 0 0 | 189 225
- 0 0 100 0 0 0| 0 0 |4436B 826B| 0 0 | 195 248
-
- # dstat --top-mem --top-io --top-cpu
- --most-expensive- ----most-expensive---- -most-expensive-
- memory process | i/o process | cpu process
- systemd-jour23.0M|weixin 0 0 |barad_agent 0.0
-
- //查看系统负载
- # dstat -l
- //查看系统内存
- # dstat -m
- // 查看内存占用
- # dstat -g -l -m -s --top-mem
- // 输出一个csv文件
- # dstat --output /tmp/sampleoutput.csv -cdn
- // 查看cpu、disk、net、page、system的信息 没10秒更新一次
- # dstat 10
- //将监控信息保存的文件中
- # dstat 10 --output /tmp/ds.csv
- //监控swap,process,sockets,filesystem并显示监控的时间
- # dstat -tsp --socket --fs
- // 监控当前最消耗IO的进程和最消耗块设备IO的进程
- # dstat -t --top-io-adv --top-bio-adv
- // 监控当时最耗CPU/BLOCK IO/内存/IO的进程
- # dstat --top-cpu --top-bio --top-mem --top-io
- //查看全部内存都有谁在占用
- # dstat -g -l -m -s --top-mem
- //显示一些关于CPU资源损耗的数据
- #dstat -c -y -l --proc-count --top-cpu
(编辑:ASP站长网)
|