Chinaunix首页 | 论坛 | 博客
  • 博客访问: 70871
  • 博文数量: 44
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-19 16:49
文章分类

全部博文(44)

文章存档

2018年(2)

2017年(1)

2016年(41)

我的朋友

分类: 系统运维

2016-04-29 17:27:40

原文地址:iostat 作者:w787815

简介

iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

 入门使用

iostat -d -k 2

参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。

输出如下


Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
hda              30.00         0.00       328.00          0        328
hdc              30.00         0.00       328.00          0        328
dm-0             82.00         0.00       328.00          0        328
dm-1              0.00         0.00         0.00          0          0
dm-2             82.00         0.00       328.00          0        328
dm-3             82.00         0.00       328.00          0        328
dm-4              0.00         0.00         0.00          0          0
			

输出信息的意义


tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求""一次传输"请求的大小是未知的。

kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read:读取的总数据量;
kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。

上面的例子中,我们可以看到磁盘sda以及它的各个分区的统计数据,当时统计的磁盘总TPS是39.29,下面是各个分区的TPS。(因为是瞬间值,所以总TPS并不严格等于各个分区TPS的总和)


指定监控的设备名称为hda,该命令的输出结果和上面命令完全相同。

 iostat -d hda 2

默认监控所有的硬盘设备,现在指定只监控hda。 


-x 参数

iostat还有一个比较常用的选项-x,该选项将用于显示和io相关的扩展数据。

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
hda               0.00    39.00  0.00 10.00     0.00   172.00    34.40     0.20   14.40   8.50   8.50
hdc               0.00    41.00  0.00  9.00     0.00   188.00    41.78     0.16   14.56   8.89   8.00
dm-0              0.00     0.00  0.00 51.00     0.00   204.00     8.00     1.56   25.10   1.67   8.50
dm-1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-2              0.00     0.00  0.00 51.00     0.00   204.00     8.00     1.56   25.10   1.67   8.50
dm-3              0.00     0.00  0.00 51.00     0.00   204.00     8.00     1.57   25.10   1.69   8.60
dm-4              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00 

输出信息的含义

iostat提供几个用于定制输出的开关。最有用的有:

    -c      只显示CPU行
    -d      显示设备(磁盘)使用状态
    -k      以千字节为单位显示磁盘输出
    -t       在输出中包括时间戳
    -x      在输出中包括扩展的磁盘指标

    
rrqm/s: 每秒进行 merge 的读操作数目。
wrqm/s: 每秒进行 merge 的写操作数目。
r/s: 每秒完成的读 I/O 设备次数。
w/s: 每秒完成的写 I/O 设备次数。
rsec/s: 每秒读扇区数。
wsec/s: 每秒写扇区数。
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。
avgqu-sz: 平均I/O队列长度。
await: 平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
%util: 一秒中有百分之多少的时间用于 I/O 操作。
关于Merge的解释:当系统调用需要读取数据的时 候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge
await:每一个IO请求的处理的平均时间(单位是毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该 设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因 为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

 -c 参数

iostat还可以用来获取cpu部分状态值:

iostat -c 1 10 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.18    0.00    0.15    0.57    0.00   99.11
			

 常见用法

iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态

[root@Nagios ~]# iostat -d -k 1 |grep dm-2
dm-2             25.18         0.17       100.67     684080  409285188
dm-2             17.00         0.00        68.00          0         68
dm-2             26.00         0.00       104.00          0        104
dm-2            277.23         0.00      1108.91          0       1120
dm-2            169.00         0.00       676.00          0        676
dm-2              0.00         0.00         0.00          0          0
dm-2              0.00         0.00         0.00          0          0
dm-2              4.00         0.00        16.00          0         16
dm-2             19.80         0.00        79.21          0         80
dm-2             63.00         0.00       252.00          0        252
					
			
			
			
上面看到,磁盘每秒传输次数平均约50;每秒磁盘读取约0.0MB,写入约500MB。 iostat -d -x -k 1 Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util hda               0.00    17.71  0.00  7.46     0.09   100.68    26.98     0.40   53.30   7.09   5.30 hdc               0.00    17.68  0.00  7.49     0.08   100.68    26.87     0.40   53.30   6.72   5.04 dm-0              0.00     0.00  0.01 25.17     0.17   100.68     8.01     0.47   18.75   2.17   5.46 dm-1              0.00     0.00  0.00  0.00     0.00     0.00     2.01     0.00   34.33   4.40   0.00 dm-2              0.00     0.00  0.01 25.17     0.17   100.68     8.01     0.47   18.76   2.17   5.46 dm-3              0.00     0.00  0.01 25.17     0.17   100.68     8.01     0.47   18.76   2.17   5.46 dm-4              0.00     0.00  0.00  0.00     0.00     0.00     8.00     0.00   34.70   1.58   0.00
可以看到磁盘的平均响应时间0.00ms,磁盘使用率平均为30,正常。
				

显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。 iostat -d -k 1 10  #查看TPS和吞吐量信息

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn hda               7.47         0.09       100.70     348509  409495792 hdc               7.50         0.08       100.70     337462  409495792 dm-0             25.19         0.17       100.70     684987  409495792 dm-1              0.00         0.00         0.00        806         76 dm-2             25.19         0.17       100.70     684080  409495716 dm-3             25.19         0.17       100.70     683553  409495716 dm-4              0.00         0.00         0.00        424     0
b,参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。


[root@linux ~]# iostat -d -x -k 1 10     #查看设备使用率(%util)、响应时间(await)
Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
hda               0.00     0.00  0.00  3.96     0.00    15.84     8.00     0.01    2.25   2.25   0.89
hdc               0.00     0.00  0.00  3.96     0.00    15.84     8.00     0.03    6.75   4.25   1.68
dm-0              0.00     0.00  0.00  3.96     0.00    15.84     8.00     0.03    8.00   4.75   1.88
dm-1              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-2              0.00     0.00  0.00  3.96     0.00    15.84     8.00     0.03    8.00   4.75   1.88
dm-3              0.00     0.00  0.00  3.96     0.00    15.84     8.00     0.03    8.00   4.75   1.88
dm-4              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00   b,参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示1 
阅读(973) | 评论(0) | 转发(0) |
0

上一篇:sar

下一篇:top

给主人留下些什么吧!~~