最近发现一个比较好用的多功能资源统计工具dstat
特征
结合vmstat,iostat,ifstat,netstat信息等
在完全相同的时间范围内显示统计数据
模块化设计
用python编写,可以轻松扩展到手头的任务
易于扩展,添加自己的计数器(请提供这些)
包含许多外部插件,以显示添加计数器的容易程度
可以汇总分组的块/网络设备并提供总数
可以显示每个设备的中断
非常准确的时间范围,在系统受到压力时没有时移
显示确切的单位并限制转换错误
指示不同颜色的不同单位
延迟> 1时显示中间结果
允许导出CSV输出,可以在Gnumeric和Excel中导入以生成图形
安装
安装很简单直接yum安装
[root@localhost ~]# yum -y install dstat
使用
单独敲命令
默认情况下查CPU,磁盘,网络,内存分页,系统信息5个区域,也就是-cdngy
1、 --total-cpu-usage---- CPU使用率
usr:用户空间的程序所占百分比;
sys:系统空间程序所占百分比;
idel:空闲百分比;
wai:等待磁盘I/O所消耗的百分比;
hiq:硬中断次数;
siq:软中断次数;
2、-dsk/total-磁盘统计
read:读总数
writ:写总数
3、-net/total- 网络统计
recv:网络收包总数
send:网络发包总数
4、---paging-- 内存分页统计
in:pagein(换入)
out:page out(换出)
注:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,通常情况下当系统已经开始用交换空间的时候,就说明你的内存已经不够用了,或者说内存非常分散,理想情况下page in(换入)和page out(换出)的值是0 0。
5、--system--系统信息
int:中断次数
csw:上下文切换
注:中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。
默认情况下,dstat 会每隔一秒刷新一次数据,一直刷新并一直输出,按 Ctrl+C 退出 "dstat";
指定查找
可以指定的性能资源
[root@localhost ~]# dstat --help
用法:dstat [-afv] [选项..] [延迟[计数]]
用于生成系统资源统计信息的通用工具
Dstat选项:
-c, - cpu启用cpu stats
-C 0,3,总计包括cpu0,cpu3和total
-d, - disk启用磁盘统计信息
-D total,hda包括hda和total
-g, - 页面启用页面统计信息
-i, - int启用中断统计信息
-I 5,eth2包括eth2和eth2使用的中断
-l, - load启用加载统计信息
-m, - mem启用内存统计信息
-n, - net启用网络统计信息
-N eth1,总数包括eth1和total
-p, - proc启用进程统计信息
-r, - ic启用io stats(I / O请求已完成)
-s, - swap启用交换统计信息
-S swap1,总计包括swap1和total
-t, - time启用时间/日期输出
-T, - enable启用时间计数器(自纪元以来的秒数)
-y, - sys启用系统统计信息
--aio启用aio统计
--fs, - filesystem启用fs stats
--ipc enable ipc stats
--lock启用锁定统计信息
--raw启用原始统计数据
--socket启用套接字统计信息
--tcp enable tcp stats
--udp enable udp stats
--unix启用unix统计信息
--vm enable vm stats
--plugin-name按插件名称启用插件(参见手册)
- 列出所有可用的插件
-a, - all equals -cdngy(默认)
-f, - fulll自动扩展-C,-D,-I,-N和-S列表
-v, - vststat等于-pmgdsc -D total
- 浮动强制浮动值在屏幕上
- 屏幕上的整数强制整数值
--bw, - blackwhite改变白色背景终端的颜色
--nocolor禁用颜色(暗示--noupdate)
--noheaders禁用重复标题
--noupdate禁用中间更新
- 输出文件将CSV输出写入文件
延迟是每次更新之间的延迟(以秒为单位)(默认值:1)
count是退出前显示的更新数(默认值:无限制)
查cpu
查进程数量
查全部
cdlmnpsyt
查找cpu 磁盘 load 内存 网络 process swap 时间 等具体资源
隔1秒查一次 一共查4次就可以用dstat 1 3 例如:
高级用法
查找资源消耗最大的资源
-–top-bio :指出块I/O最大的进程
-–top-cpu :图形化显示CPU占用最大的进程
-–top-io :显示正常I/O最大的进程
-–top-mem :显示占用最多内存的进程
输出为csv文件
生成的csv文件可以在Windows上用Excel打开
[root@localhost ~]# dstat -cdlmnpsyt --output /tmp/output.csv