linux性能查看命令之dstat – 吴昊博客 (whsir.com)
stat是一个全能型的系统信息统计工具,可以替代vmstat、iostat、ifstat等。在执行dstat命令时,可以很容易的监控到系统CPU、I/0、网络等相关信息,默认每秒刷新一条信息,并且可以统计输出csv文件等。
注:Centos系统可通过yum install dstat直接安装
dstat
dstat [-afv] [options..] [delay [count]]
默认分组字段含义
—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system–
—-cpu状态—- -磁盘读写- -网络统计- —分页统计– —系统统计–
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
cpu使用率:usr用户使用率 sys系统使用率 idl空闲率 wai等待占比 hiq中断 siq上下文
磁盘读写:read磁盘读 writ磁盘写
网络发送和接收的数据:recv网络接收 send网络发送
系统分页统计:in换入 out换出
系统统计:int统计中断 csw上下文切换
命令参数:
delay:两次结果输出的时间间隔,默认1秒。例:dstat 2表示2秒输出一次信息,可以和–noupdate一起用
count:结果输出次数,默认一直输出,直到ctrl+c中断。例:dstat 2 2表示2秒输出一次信息,在结果额外输出2次后中断
常用选项:
-c, –cpu:默认参数,只显示cpu状态
-C:当存在多个cpu时,可以显示指定cpu的使用情况。例:dstat -c -C 0,1这里只显示cpu0和cpu1的使用情况,此处如果不加-c选项,则显示cpu0和cpu1以及磁盘、网络、分页、系统信息。
-d, –disk:默认参数,只显示磁盘读写
-D:当存在多个磁盘时,可以显示指定磁盘的使用情况。例:dstat -d -D /dev/vda,/dev/vdb这里只显示vda和vdb这两块盘的读写情况,此处如果不加-d选项,则显示vda和vdb以及cpu、网络、分页、系统信息。
-g, –page:默认参数,只显示分页状态
-i, –int:只显示中断信息
I:查看指定设备中断号,例:dstat -i -I 0,1只显示0,1设备中断信息,查询中断号cat /proc/interrupts
-l, –load:只查看系统1分钟、5分钟、15分钟负载情况
-m, –mem:只显示内存使用情况(已用、缓冲、缓存、空闲)
-n, –net:默认参数,只显示网络状态
-N:可以指定需要监控的网卡。例:dstat -n -N eth0,eth1这里监控eth0和eth1网卡状态,如果不加-n选项,则显示eth0和eth1以及cpu、磁盘、分页、系统信息。
-p, –proc:只显示进程状态信息,可运行态run、睡眠态blk、新进程new,运行态高表示系统负载较高,等待cpu处理的进程过多,睡眠态过多可能IO存在问题。
–proc-count:显示进程数量
-r, –io:只显示I/O请求情况
-s, –swap:只显示swap即交换分区使用情况
-t, –time:只显示系统时间和日期
-T, –epoch:当前时间到1970-01-01 00:00:00 UTC间隔的秒数,即date +%s
-y, –sys:默认参数,只显示系统中断int和上下文切换数csw,如果数值过高系统负载可能过高,程序或存在问题
–aio:异步I/O状态
–fs, –filesystem:只显示文件系统统计信息(打开文件数、正在使用的inode数)
–ipc:只显示ipc统计信息,msg消息队列、sem线程队列、shm共享内存使用
–lock:只显示lock信息,pos锁数,lck锁数,rea读锁数、wri写锁数
–raw:只显示raw
–socket:只显示套接字统计信息,tot总量、tcp套接字数量、udp套接字数量、raw原始套接字数量
–tcp:只显示tcp统计信息(监听、活动、同步、时间等待、关闭)
–udp:只显示udp统计信息,lis监听数量、act活动数量
–unix:只显示unix统计信息
–vm:只显示虚拟内存信息
-a, –all:等于-cdngy,默认参数
-f, –full:展开-C, -D, -I, -N、-S
-v, –vmstat:等于-pmgdsc
–dbus:显示dbus连接数
–bits:显示单位换算
–float:显示浮点数
–integer:显示整数,默认值
–bw, –blackonwhite:改变终端颜色
–nocolor:关闭颜色
–noheaders :禁用重复输出header
–noupdate:时间间隔大于1时,下一条统计信息未打印完成时,不进行更新,配合delay参数
–output file:监控到的状态信息以csv格式标准输出到指定文件中。例:dstat –output wh.csv
–profile:记录组件和时间资源消耗,并生成日志文件。例:dstat –profile 1 3
–top-cpu:最耗CPU的进程和占比
–top-cpu-adv:最耗CPU的进程,及其PID,CPU占比等
–top-cputime:消耗CPU时间最多的进程名和耗费时间ms
–top-cputime-avg:平均消耗CPU时间最多的进程名和耗费时间ms
–top-latency:延迟最高的进程名和延迟时间ms
–top-latency-avg:平均延迟最高的进程名和延迟时间ms
–top-bio:最耗block I/O的进程名、读写
–top-bio-adv:最耗费block I/O的进程名、PID、读写、CPU占比
–top-io:最耗I/O的进程名和读写信息
–top-io-adv:最耗I/O的进程名、PID、读写、CPU占比
–top-mem:最耗内存的进程名和内存消耗
–top-oom:最先OOM(内存回收机制)杀死的进程
–top-childwait:等待子进程最多的父进程
–plugin-name:插件名称替换–plugin-name,其实这些插件都是python脚本写的,默认路径/usr/share/dstat,可以结合自己需求编写python脚本
–list:列出dstat可以使用的所有参数,internal是自身自带的参数,/usr/share/dstat是可用扩展监控,这些插件并不是可以直接使用,有些需要一些依赖。
1
2
3
4
5
6
7
8
9
10
|
internal:
aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, proc, raw,
socket, swap, swapold, sys, tcp, time, udp, unix, vm
/usr/share/dstat:
battery, battery–remain, cpufreq, dbus, disk–tps, disk–util, dstat, dstat–cpu, dstat–ctxt, dstat–mem, fan, freespace, gpfs,
gpfs–ops, helloworld, innodb–buffer, innodb–io, innodb–ops, lustre, memcache–hits, mysql–io, mysql–keys, mysql5–cmds,
mysql5–conn, mysql5–io, mysql5–keys, net–packets, nfs3, nfs3–ops, nfsd3, nfsd3–ops, ntp, postfix, power, proc–count, qmail,
rpc, rpcd, sendmail, snooze, squid, test, thermal, top–bio, top–bio–adv, top–childwait, top–cpu, top–cpu–adv, top–cputime,
top–cputime–avg, top–int, top–io, top–io–adv, top–latency, top–latency–avg, top–mem, top–oom, utmp, vm–memctl, vmk–hba,
vmk–int, vmk–nic, vz–cpu, vz–io, vz–ubc, wifi
|
常用的一些例子:
查看当前内存、I/O、cpu占用最高的进程信息
dstat –top-mem –top-io –top-cpu
将cpu、磁盘、网络信息标准输出至csv中
dstat -cdn –output /tmp/wh.csv
3秒收集一次数据,输出5次后中断
dstat –noupdate 3 5
今天的文章linux性能查看命令之dstat分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/53236.html