接上篇文章简单介绍了uptime,top等工具,此篇主要介绍sysstat工具包中包含的工具mpstat和iostat,至于sar会在后边做相关总结。
4> mpstat:处理器相关统计报告
安装:
$ sudo apt-get install sysstat
用法:
mpstat [ -A ] [ -I { SUM | CPU | SCPU | ALL } ] [ -u ] [ -P { cpu [,...] | ON | ALL } ] [ -V ] [ interval [ count ] ]
参数解析:
-A #相当于使用-I ALL -u -P ALL
-I {SUM | CPU | SCPU | ALL} #报告中断的统计资料
SUM: #mpstat命令报告每个处理器的中断总数。显示的值如下:
CPU: #处理器编号,all表示显示统计信息的值为所有处理器的平均值
intr/s: #显示每秒接收到的CPU或CPUs的中断总数。
CPU: #显示CPU每秒接收到的每个中断的数量
SCPU: #显示CPU每秒接收到的每一个单独的软件中断的数量,此选项仅适用于内核2.6.31和更高版本。
ALL: #相当于指定以上所有关键字
-P { cpu [,...] | ON | ALL } #指定处理器编号显示其统计报告
cpu: #cpu为处理器编号,处理器0是所述第一个处理器。
ON: #每一个正在使用的处理器的统计报告
ALL: #所有处理器的统计报告。
-u #报告的CPU利用率,显示的值如下:
CPU: #处理器编号,all表示显示统计信息的值为所有处理器的平均值
%usr: #用户层使用的CPU利用率的百分比
%nice: #有优先级的用户层使用的CPU利用率的百分比
%sys: #内核层使用的CPU利用率的百分比,此步包含软硬中断的时间
%iowait: #CPU因为未解决的磁盘IO的请求而闲置的时间百分比
%irq: #显示CPU服务于硬件中断所花费的时间的百分比
%soft: #显示CPU服务于软件中断所花费的时间的百分比
%steal: #显示当管理程序维护另一个虚拟处理器,虚拟的cpu花在强制等待时间百分比
%guest: #显示CPU运行一个虚拟处理器所花的时间百分比
%idle: #显示系统没有未解决的磁盘IO请求,CPU闲置的时间百分比
#NOTE:重点关注%iowait,%idle
-V #显示版本号
更多详情参照mpstat手册:$ man mpstat
示例
$ mpstat 2 5 #显示全局统计5次,时间间隔为2s
$ mpstat -P ALL 2 5 #显示所有cpu的统计5次,时间间隔为2
5> iostat:主要监控磁盘设备:The iostat command generates three types of reports, the CPU Utilization report, the Device Utilization report and the Network Filesystem report
以下为介绍设备和分区的利用率报告的值(CPU的报告详见mpstat介绍):
Device #设备(分区)名(/dev目录下)
tps #每秒设备发出的传输总数。一次传输就是对设备的一个I/O请求,多个逻辑请求可被整合成一个单一的I/O请求。因此一次传输具体无法确定大小。
Blk_read/s (kB_read/s, MB_read/s) #每秒从设备的读取的数据的数量(用blocks的数量表示)
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s) #每秒写入设备的数据的数量
Blk_read (kB_read, MB_read) #读取的blocks的总数
Blk_wrtn (kB_wrtn, MB_wrtn) #写入的blocks的总数
rrqm/s #队列中的每秒合并的读的请求数
wrqm/s #队列中的每秒合并的写的请求数
r/s #每秒已完成的读的请求数(after merges)
w/s #每秒已完成的写的请求数(after merges)
rsec/s (rkB/s, rMB/s) #每秒从设备读的扇区数
wsec/s (wkB/s, wMB/s) #每秒写入设备扇区数
avgrq-sz #请求的数据平均大小(扇区数)
avgqu-sz #请求的平均队列长度
await #处理I/O请求的平均时间(毫秒),其包含请求在队列中的时间和处理它们的时间
r_await #处理I/O读的请求的平均时间(毫秒)
w_await #处理的I/O写的请求的平均时间
svctm #This field will be removed in a future sysstat version
%util #I/O操作的时间占用的CPU总时间的百分比
选项:
-c #只显示CPU利用率的报告
-d #只显示块设备的使用报告
-m #以mbps显示
-p[ { device [,...] | ALL } ] #指定设备名,all为所有
-t #显示时间
-V #显示版本
-x #显示扩展的统计
-z #省略不活动的设备
示例:
$ iostat #显示从开机的所有CPU和Devices的报告
$ iostat -d 2 #每隔2秒显示一次device的报告
$ iostat -d 2 6 #每隔2秒显示6次设备的信息统计
$ iostat -x sda sdb 2 6 #每隔2秒显示6次sda和sdb的扩展统计
$ iostat -p sda 2 6 #每隔2秒显示6次sda和它的分区的统计
mpstat和iostat已简单总结,获取更多东西建议看手册且实际操作一下。
文章题目:Linux系统分析工具之mpstat,iostat(二)
网站网址:
http://chengdu.cdxwcx.cn/article/ipjips.html