ITPub博客

首页 > 数据库 > Oracle > 使用iostat监控磁盘I/O

使用iostat监控磁盘I/O

原创 Oracle 作者:静以致远√团团 时间:2014-07-19 10:17:53 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Ora-01555问题分析
请登录后发表评论 登录
全部评论
每个人都有梦想,去实现吧!

注册时间:2013-11-14

  • 博文量
    164
  • 访问量
    2103442