Linux iostat命令

标签: linux iostat 命令 | 发表时间:2013-02-28 21:29 | 作者:laoshangxyc
出处:http://blog.csdn.net

iostat用于输出CPU和磁盘I/O相关的统计信息. 
命令格式:

iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ]  ]  
[ interval [ count] ]

iostat各个参数说明:

-c 仅显示CPU统计信息.与-d选项互斥.  
-d 仅显示磁盘统计信息.与-c选项互斥.
-k 以K为单位显示每秒的磁盘请求数,默认单位块.
-p device | ALL
与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:
# iostat -p hda
或显示所有设备
# iostat -p ALL
-t 在输出数据时,打印搜集数据的时间.
-V 打印版本号和帮助信息.
-x 输出扩展信息.

常见用法 

iostat -d -k 1 10        #查看TPS和吞吐量信息 
iostat -d -x -k 1 10     #查看设备使用率(%util)、响应时间(await) 
iostat -c 1 10           #查看cpu状态

1、iostat的直接使用如下:

[root@c1 ~]# iostat
Linux 2.6.18-164.el5 (c1)       03/01/2013

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.16    0.05   10.26    5.71    0.00   80.82

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              28.26      1311.15       129.20     582688      57418
sda1              1.34         5.38         0.02       2389         10
sda2             26.86      1305.12       129.18     580010      57408
sdb               4.30       517.47         1.04     229969        463
sdc               1.54        10.35         0.14       4599         64
sdc1              0.50         6.13         0.14       2726         64
sdd               0.71         5.50         1.10       2443        488
sdd1              0.29         1.21         1.10        538        488
sde               2.46        41.10         7.92      18265       3520
sdf               0.21         2.20         0.16        977         72
sdg               9.35        26.15         2.48      11623       1104
sdg1              0.45         0.98         0.00        437          0
sdg2              0.01         0.01         0.00          5          0
sdg5              0.59         1.29         1.13        574        504
sdg6              0.48         2.12         0.11        942         48
sdg7              0.54         1.09         1.10        486        488
sdg8              0.43         1.11         0.14        494         64
sdg9              0.41         0.98         0.00        437          0
sdg10             0.43         0.89         0.00        397          0
dm-0             62.34      1858.20       138.30     825802      61463
dm-1              0.25         2.02         0.00        896          0
hdc               0.03         0.32         0.00        144          0

各项含义:

avg-cpu段:
%user: 在用户级别运行所使用的CPU的百分比.
%nice:优先进程消耗的CPU时间,占所有CPU的百分比.
%system: 在系统级别(kernel)运行所使用CPU的百分比.

%iowait: CPU等待硬件I/O时,所占用CPU百分比.

%steal: 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。

%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read:  启动到现在 读入的block总数.

Blk_wrtn:  启动到现在写入的block总数.

2、iostat -d -k 1 1使用如下:

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

[root@c1 ~]# iostat -d -k 1 1
Linux 2.6.18-164.el5 (c1)       03/01/2013

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               6.73       104.39        20.59     341903      67437
sda1              0.18         0.37         0.00       1197          5
sda2              6.54       103.98        20.59     340561      67432
sdb               0.93        36.44         0.16     119344        531
sdc               0.21         0.70         0.01       2299         32
sdc1              0.07         0.42         0.01       1363         32
sdd               0.38         0.37         1.23       1221       4016
sdd1              0.33         0.08         1.23        269       4016
sde               0.93         3.42         2.78      11200       9092
sdf               0.03         0.15         0.01        488         36
sdg               1.84         1.77         2.47       5811       8096
sdg1              0.06         0.07         0.00        218          0
sdg2              0.00         0.00         0.00          2          0
sdg5              0.37         0.09         1.23        287       4024
sdg6              0.07         0.14         0.01        471         24
sdg7              0.36         0.07         1.23        243       4016
sdg8              0.06         0.08         0.01        247         32
sdg9              0.06         0.07         0.00        218          0
sdg10             0.06         0.06         0.00        198          0
dm-0             14.42       143.46        23.54     469885      77091
dm-1              0.03         0.14         0.00        448          0
hdc               0.00         0.02         0.00         72          0

3、iostat -x 11使用

[root@c1 ~]# iostat -x 1 1
Linux 2.6.18-164.el5 (c1)       03/01/2013

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.49    0.03    1.60    1.11    0.00   96.77

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               2.29     2.93  3.96  1.72   170.80    37.20    36.60     0.03    5.01   2.42   1.38
sda1              0.15     0.00  0.15  0.00     0.60     0.00     4.02     0.00    0.74   0.61   0.01
sda2              2.14     2.93  3.81  1.72   170.13    37.20    37.51     0.03    5.13   2.47   1.37
sdb               0.12     0.00  0.73  0.04    59.62     0.31    78.33     0.01    8.91   4.52   0.35
sdc               0.02     0.00  0.17  0.00     1.15     0.02     6.80     0.00    0.46   0.37   0.01
sdc1              0.00     0.00  0.05  0.00     0.68     0.02    12.57     0.00    1.10   0.86   0.00
sdd               0.01     0.00  0.06  0.31     0.61     2.49     8.27     0.00    0.84   0.82   0.03
sdd1              0.00     0.00  0.02  0.31     0.13     2.49     8.01     0.00    0.89   0.88   0.03
sde               0.01     0.14  0.31  0.54     5.64     5.45    12.98     0.00    3.29   2.16   0.18
sdf               0.00     0.00  0.02  0.00     0.24     0.02    11.28     0.00    2.49   2.38   0.01
sdg               0.16     0.00  1.00  0.63     2.90     5.01     4.86     0.00    0.84   0.45   0.07
sdg1              0.00     0.00  0.05  0.00     0.11     0.00     2.21     0.00    0.07   0.07   0.00
sdg2              0.00     0.00  0.00  0.00     0.00     0.00     1.67     0.00    0.00   0.00   0.00
sdg5              0.01     0.00  0.05  0.31     0.14     2.49     7.29     0.00    1.50   1.50   0.05
sdg6              0.00     0.00  0.05  0.00     0.24     0.01     4.65     0.00    0.49   0.49   0.00
sdg7              0.01     0.00  0.05  0.31     0.12     2.49     7.33     0.00    1.10   1.10   0.04
sdg8              0.01     0.00  0.05  0.00     0.12     0.02     2.89     0.00    0.69   0.69   0.00
sdg9              0.00     0.00  0.05  0.00     0.11     0.00     2.38     0.00    0.48   0.48   0.00
sdg10             0.00     0.00  0.05  0.00     0.10     0.00     2.06     0.00    0.24   0.24   0.00
dm-0              0.00     0.00  6.98  5.37   234.77    42.98    22.48     0.07    6.01   1.37   1.69
dm-1              0.00     0.00  0.03  0.00     0.22     0.00     8.00     0.00   10.86   0.47   0.00
hdc               0.01     0.00  0.00  0.00     0.04     0.00    11.08     0.00    1.77   1.46   0.00


各项含义

rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s

r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s

rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s

avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。即 delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。

await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)


%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

4、iostat  -c 1 2使用

[root@c1 ~]# iostat -c 1 2
Linux 2.6.18-164.el5 (c1)       03/01/2013

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.44    0.02    1.37    0.91    0.00   97.26

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00


作者:laoshangxyc 发表于2013-2-28 21:29:47 原文链接
阅读:46 评论:0 查看评论

相关 [linux iostat 命令] 推荐:

Linux iostat命令

- - CSDN博客系统运维推荐文章
iostat用于输出CPU和磁盘I/O相关的统计信息. . iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [. iostat各个参数说明:. -c 仅显示CPU统计信息.与-d选项互斥. -d 仅显示磁盘统计信息.与-c选项互斥.

Linux的IO性能监控工具iostat详解

- - 搜索引擎技术博客
Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题. 其中iostat可以提供更丰富的IO性能状态数据. 参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次.

通过『iostat -dx 1』命令监控IO性能

- Sean Lee - 火丁笔记
网站的很多性能问题最终都会归结到IO头上,所以说理解iostat命令是非常有必要的. 小技巧:你知道iostat是从哪里得到IO相关信息的吗. 使用strace命令能跟踪到答案:. 注:Strace教程:5 simple ways to troubleshoot using Strace. 注:关于diskstats的说明,参见官方文档(主要是其中的field1 ~ field11部分).

linux磁盘监控--iostat一点小问题和util计算公式

- -
通常用来看linux服务器io指标,也能看cpu,但是top看cpu比iostat猛,也能看网络指标NFS,但是sar又比iostat猛,所以就用来看io. 磁盘io负载通常影响线上数据落地,如果磁盘负载高,有很多请求在队列中来不及处理,导致线上数据处理延迟,因此需要个磁盘io负载的监控,笔者用的是iostat.

Linux wget命令

- - CSDN博客推荐文章
wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径. 例如: # wget  http://www.linuxsense.org/xxxx/xxx.tar.gz. 简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载.

linux命令locate

- - 操作系统 - ITeye博客
    locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息. Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.

linux常用命令

- - 梦幻主页的博客
1.# 表示权限用户(如:root),$ 表示普通用户.   开机提示:Login:输入用户名.   password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的用户环境.   退出当前shell,输入:exit. 2.useradd netseek 添加一个netseek用户.   passwd netseek  给netseek这个用户设置密码.

Linux grep命令用法

- - 酷勤网-挖经验 [expanded by feedex.net]
grep — print lines matching a pattern (将符合样式的该行列出). ◎语法: grep [options]. grep用以在file内文中比对相对应的部分,或是当没有指定档案时,. 在预设的情况下,grep会将符合样式的那一行列出. 此外,还有两个程序是grep的变化型,egrep及fgrep.

linux下vi命令大全

- - CSDN博客互联网推荐文章
linux下vi命令大全,能掌握80%也即基本够用了. vi filename :打开或新建文件,并将光标置于第一行首. vi +n filename :打开文件,并将光标置于第n行首. vi + filename :打开文件,并将光标置于最后一行首. vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处.