dstat 是一个多功能产品,可以替换:vmstat + iostat + netstat + ifstat。dstat扬长避短,即克服了这些命令的局限又增加了一些额外的功能,不但拥有更多的监控项,也更灵活。dstat在性能测试、基准测试和排除故障过程中可以很方便监控系统运行状况。
yum install dstat
apt-get install dstat
dstat [-afv] [options..] [delay [count]]
* delay 两次输出之间的时间间隔,默认是1s
* count 报告输出的次数,默认是没有限制,一直输出直到取消
参数:
-c, - -cpu 开启cpu统计
-C 该选项跟cpu的编号(0~cpu核数-1,多个用都好隔开)如:0,3,total表示分别包含cpu0、cpu3和total
-d, - -disk 开启disk统计
-D 改选跟具体的设备名(多个用逗号隔开)如:total,hda,hdb表示分别统计total、hda、hdb设备块
-g, - -page 开启分页统计
-i, - -int 开启中断统计
-I 5,10 没弄懂呢~巴拉巴拉
-l, - -load 开启负载均衡统计,分别是1m,5m,15m
-m, - -mem 开启内存统计,包括used,buffers,cache,free
-n, - -net 开启net统计,包括接受和发送
-N 该选项可以跟网络设备名多个用逗号隔开,如eth1,total
-p, - -proc 开启进程统计,包括runnable, uninterruptible, new
-r, - -io io开启请求统计,包括read requests, write requests
-s, - -swap 开启swap统计,包括used, free
-S 该选项可以跟具体的交换区,多个用逗号隔开如swap1,total
-t, - -time 启用时间和日期输出
-T, - -epoch 启用时间计数,从epoch到现在的秒数
-y, - -sys 开启系统统计,包括中断和上下文切换
- -aio 开启同步IO统计 (asynchronous I/O)
- -fs 开启文件系统统计,包括 (open files, inodes)
- -ipc 开启ipc统计,包括 (message queue, semaphores, shared memory)
- -lock 开启文件所统计,包括 (posix, flock, read, write)
- -raw 开启raw统计 (raw sockets)
- -socket 开启sockets统计,包括 (total, tcp, udp, raw, ip-fragments)
- -tcp 开启tcp统计,包括(listen, established, syn, time_wait, close)
- -udp 开启udp统计 (listen, active)
- -unix 开启unix统计(datagram, stream, listen, active)
- -vm 开启vm统计 (hard pagefaults, soft pagefaults, allocated, free)
- -stat 通过插件名称开启插件扩展,详见命令插件 :可能的内置插件为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
- -list 列举内置插件扩展的名称
-a, - -all 是默认值相当于 -cdngy (default)
-f, - -full 相当于 -C, -D, -I, -N and -S
-v, - -vmstat 相当于 -pmgdsc -D total
- -bw, - -blackonwhite 在白色背景终端上改变显示颜色
- -float 在屏幕上的输出强制显示为浮点值(即带小数)(相反的选项设置为 - -integer)
- -integer 在屏幕上的输出强制显示为整数值,此为默认值(相反的选项设置为- -float)
- -nocolor 禁用颜色(意味着选项 - -noupdate)
- -noheaders 禁止重复输出header,默认会打印一屏幕输出一次header
- -noupdate 当delay>1时禁止在过程中更新(即在时间间隔内不允许更新)
- -output file 输出结果到cvs文件中
--disk-util 显示某一时间磁盘的忙碌状况
--freespace 显示当前磁盘空间使用率
--proc-count 显示正在运行的程序数量
--top-bio 显示块I/O最大的进程
--top-cpu 显示CPU占用最大的进程
--top-io 显示正常I/O最大的进程
--top-mem 显示占用最多内存的进程
#查看CPU 使用情况
dstat -c
#usr 表示用户空间进程所占百分比
#sys 表示内核空间进程所占用百分比
#idl 表示空闲CPU百分比
wai 表示I/O等待的百分比
hiq 表示硬件CPU中断所占百分比
siq 表示软中断所占用百分比
#指定CPU 编号
dstat -c -C 0,1
#查看CPU使用最高的进程
dstat --top-cpu
dstat -d
#red 读吞吐量
#write 写吞吐量
#指定IO设备
dstat -d -D sda
#直接查看所有IO设备
iostat
dstat -m
#used 表示已经使用的
#buff 写缓冲
#cach 读缓冲
#free 空闲
#查看最吃内存的进程
dstat --top-mem
dstat -n
#指定网卡名称
dstat -n -N ens33
#查看所有网卡设置的流量使用情况
dstat -n -f
dstat -c -l -d -r -m -g -s -n -y -p 1
dstat -y
dstat -g
- -battery 电池电池百分比(需要ACPI)
- -battery-remain 电池剩余小时、分钟(需要ACPI)
- -cpufreq CPU频率百分比(需要ACPI)
- -dbus dbus连接的数量(需要python-dbus)
- -disk-util 显示某一时间磁盘的忙碌状况
- -fan 风扇转速(需要ACPI)
- -freespace 每个文件系统的磁盘使用情况
- -gpfs gpfs读/写 I / O(需要mmpmon)
- -gpfs-ops GPFS文件系统操作(需要mmpmon)
- -helloworld dstat插件Hello world示例
- -innodb-buffer 显示innodb缓冲区统计
- -innodb-io 显示innodb I / O统计数据
- -innodb-ops 显示innodb操作计数器
- -lustre 显示lustreI / O吞吐量
- -memcache-hits 显示memcache 的命中和未命中的数量
- -mysql5-cmds 显示MySQL5命令统计
- -mysql5-conn 显示MySQL5连接统计
- -mysql5-io MySQL5 I / O统计数据
- -mysql5-keys 显示MySQL5关键字统计
- -mysql-io 显示MySQL I / O统计数据
- -mysql-keys 显示MySQL关键字统计
- -net-packets 显示接收和发送的数据包的数量
- -nfs3 显示NFS v3客户端操作
- -nfs3-ops 显示扩展NFS v3客户端操作
- -nfsd3 显示NFS v3服务器操作
- -nfsd3-ops 显示扩展NFS v3服务器操作
- -ntp 显示NTP服务器的ntp时间
- -postfix 显示后缀队列大小(需要后缀)
- -power 显示电源使用量
- -proc-count 显示处理器的总数
- -rpc 显示rpc客户端调用统计
- -rpcd 显示RPC服务器调用统计
- -sendmail 显示sendmail队列大小(需要sendmail)
- -snooze 显示每秒运算次数
- -test 显示插件输出
- -thermal 热系统的温度传感器
- -top-bio 显示消耗块I/O最大的进程
- -top-cpu 显示消耗CPU最大的进程
- -top-cputime 显示使用CPU时间最大的进程(单位ms)
- -top-cputime-avg 显示使用CPU时间平均最大的进程(单位ms)
- -top-io 显示消耗I/O最大进程
- -top-latency 显示总延迟最大的进程(单位ms)
- -top-latency-avg 显示平均延时最大的进程(单位ms)
- -top-mem 显示使用内存最大的进程
- -top-oom 显示第一个被OOM结束的进程
- -utmp 显示utmp连接的数量(需要python-utmp)
- -vmk-hba 显示VMware ESX内核vmhba统计数
- -vmk-int 显示VMware ESX内核中断数据
- -vmk-nic 显示VMware ESX内核端口统计
- -vz-io 显示每个OpenVZ请求CPU使用率
- -vz-ubc 显示OpenVZ用户统计
- -wifi 无线连接质量和信号噪声比