扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
接上篇文章简单介绍了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已简单总结,获取更多东西建议看手册且实际操作一下。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流