Linux系统分析工具之mpstat,iostat(二)

接上篇文章简单介绍了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(二)
URL分享:http://azwzsj.com/article/ipjips.html