iostat-IO实时监控
iostat 介绍与安装
Aix&Linux 提供了两个很是有用的用于磁盘 I/O 性能监控的命令:iostat 和 sar。
iostat 命令主要通过观察物理磁盘的活动时间以及平均传输速度。根据 iostat 命令孕育发生的报告,该工具的主要目的是通过监控磁盘的利用率,而探量观测到系统中的 I/O 瓶颈。不同操作系统命令格局输出格局略有不同,管理员可以通过查看用户手册来确定它的用处。
[root@node1 ~]# yum install sysstat
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package sysstat.i386 0:7.0.2-3.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================
Package Arch Version Repository Size
=========================================================================================
Installing:
sysstat i386 7.0.2-3.el5 rhel5-4 170 k
Transaction Summary
=========================================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 170 k
Is this ok [y/N]: Y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : sysstat 1/1
Installed:
sysstat.i386 0:7.0.2-3.el5
Complete!
[root@node1 ~]# iostat
Linux 2.6.18-164.el5 (node1) 07/19/2014
avg-cpu: %user %nice %system %iowait %steal %idle
0.16 0.02 0.35 1.00 0.00 98.47
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 4.21 68.87 70.68 4124769 4233124
sda1 0.01 0.04 0.00 2406 28
sda2 4.20 68.83 70.68 4122083 4233096
dm-0 10.79 68.08 68.32 4077474 4091952
dm-1 0.39 0.74 2.36 44328 141144
sr0 0.01 0.03 0.00 2008 0
iostat语法
[root@node1 ~]# iostat --help
Usage: iostat [ options... ] [ [ ] ]
Options are:
[ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -n ] [ -h ] [ -N ]
[ [ ... ] | ALL ] [ -p [ | ALL ] ]
参数说明:
-c 输出CPU统计信息。不能与-d参数同时使用。
-d 输出设备和分区的I/O统计信息。不能与-c参数同时使用。(默认的参数是-d)
-k 用“kbytes/秒”代替“块/秒”显示统计信息。在内核2.4以及新版中才有效。
-m 用“mbytes/秒”代替“块/秒”显示统计信息。在内核2.4以及新版中才有效。
-t 显示NFS目录统计信息。在内核2.6.17以及新版中才有效。
-V 显示版本号并退出。
-x 显示扩展统计信息。不能与参数-p同时使用。并且需要在内核2.5以上才能使用,因为它需要/proc/diskstats 或者 加载sysfs获取统计信息。
-n 显示NFS目录统计信息。
-h 可读性更好的NFS目录统计信息(经测试,在我的系统上跟-t,-p参数显示没什么差别,但-p参数没法与-x参数同时使用)
-p 显示系统使用的块设备和它们的分区统计信息。不能与参数-x同时使用。如果命令中指定了设备名称,显示设备和它的所有分区的统计。如果使用了关键字ALL,将显示系统所有块设备和分区统计信息,即使它们没有被使用。只有在内核2.5或更新版本中有效。
interval 刷新时间间隔
count 刷新次数
输出结果分析
查看内核版本和iostat版本
[root@node1 ~]# uname -a
Linux node1 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux
[root@node1 ~]# iostat -V
sysstat version 7.0.2
(C) Sebastien Godard
输出设备与分区的I/O信息
[root@node1 ~]# iostat -d
Linux 2.6.18-164.el5 (node1) 07/19/2014
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 4.16 67.18 70.14 4153001 4336148
sda1 0.01 0.04 0.00 2406 28
sda2 4.15 67.13 70.14 4150315 4336120
dm-0 10.68 66.41 67.80 4105314 4191536
dm-1 0.38 0.72 2.34 44720 144584
sr0 0.01 0.03 0.00 2012 0
显示设备扩展统计信息和NFS目录统计信息,并且每隔3s刷新,刷新2次,显示单位是mb/s
[root@node1 ~]# iostat -xnm 3 2
-x and -n options are mutually exclusive
Linux 2.6.18-164.el5 (node1) 07/19/2014
avg-cpu: %user %nice %system %iowait %steal %idle
0.16 0.02 0.35 0.98 0.00 98.49
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
sda 0.31 6.63 2.02 2.16 0.03 0.03 33.02 0.03 7.23 2.63 1.10
sda1 0.01 0.00 0.01 0.00 0.00 0.00 5.77 0.00 1.81 1.68 0.00
sda2 0.30 6.63 2.01 2.16 0.03 0.03 33.07 0.03 7.24 2.63 1.10
dm-0 0.00 0.00 2.22 8.49 0.03 0.03 12.58 0.26 24.69 1.01 1.08
dm-1 0.00 0.00 0.09 0.29 0.00 0.00 8.00 0.01 19.50 1.32 0.05
sr0 0.00 0.00 0.01 0.00 0.00 0.00 5.92 0.00 1.11 1.04 0.00
Device: rMB_nor/s wMB_nor/s rMB_dir/s wMB_dir/s rMB_svr/s wMB_svr/s rops/s wops/s
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.35 0.00 99.65
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 6.99 0.00 8.04 0.00 0.06 14.96 0.02 2.48 0.30 0.24
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 6.99 0.00 8.04 0.00 0.06 14.96 0.02 2.48 0.30 0.24
dm-0 0.00 0.00 0.00 15.03 0.00 0.06 8.00 0.03 1.79 0.16 0.24
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rMB_nor/s wMB_nor/s rMB_dir/s wMB_dir/s rMB_svr/s wMB_svr/s rops/s wops/s
设备统计信息解读:
Device:设备或分区名称。
Tps:设备每秒的传输次数。一个IO请求表示一个传输。多个逻辑请求可以被组成一个I/O请求。一个传输的大小未知。
Blk_read/s:每秒从设备读取数据量
Blk_wrtn/s:每秒写入设备的数据量
Blk_read:读取的总数量
Blk_wrtn:写入的总数量
kB_read/s:每秒从设备读取的数据量(单位:KB)
kB_wrtn/s:每秒写入设备的数据量(单位:KB)
kB_read :读取的总数量(单位:KB)
kB_wrtn:写入的总数量(单位:KB)
MB_read/s:每秒从设备读取的数据量(单位:MB)
MB_wrtn/s:每秒写入设备的数据量(单位:MB)
MB_read:读取的总数量(单位:MB)
MB_wrtn:写入的总数量(单位:MB)
rrqm/s:每秒被合并的读请求数
wrqm/s:每秒被合并的写请求数
r/s :每秒的读请求数
w/s :每秒的写请求数
rsec/s:每秒读取的扇区数
wsec/s:每秒写入的扇区数
rkB/s:每秒从设备读取的数据量(单位:KB)
wkB/s:每秒写入设备的数据量(单位:KB)
rMB/s:每秒从设备读取的数据量(单位:MB)
wMB/s:每秒写入设备的数据量(单位:MB)
avgrq-sz :平均每次IO操作的数据量(扇区数为单位)
avgqu-sz:平均等待处理的IO请求队列长度
await:I/O请求等待时间的平均值(单位:毫秒)
svctm:I/O请求处理时间的平均值(单位:毫秒)
%util:消耗在I/O请求中的CPU时间百分比(设备带宽利用率)。如果该值接近100%说明设备出现了瓶颈
输出CPU统计信息
每隔一秒输出一次,工输出四次
[root@node1 ~]# iostat -c 1 4
Linux 2.6.18-164.el5 (node1) 07/19/2014
avg-cpu: %user %nice %system %iowait %steal %idle
0.16 0.02 0.36 1.02 0.00 98.44
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 1.04 6.25 0.00 92.71
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 1.06 12.77 0.00 86.17
CPU统计信息参数解读
%user:用户进程使用的CPU使用率百分比
%nice:nice操作所使用的CPU的百分比
%system:系统进程使用的CPU使用率百分比
%iowait :系统输出数据至磁盘时空闲的CPU时间百分比(即IO等待)
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idle:系统没有任何数据输出至磁盘的CPU时间百分比(即空闲时间)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29320885/viewspace-1222577/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29320885/viewspace-1222577/