iostat用于输出CPU和磁盘I/O相关的统计信息

iostat语法

用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]]

常用选项说明:

-c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
-d:单独输出Device结果,不包括cpu结果
-k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位
-x:输出更详细的io设备统计信息
interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出

说明:更多选项使用使用man iostat查看

常用实例

1、iostat,结果为从系统开机到当前执行时刻的统计信息

$ iostat
Linux 3.10.-514.26..el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ ( CPU) avg-cpu: %user %nice %system %iowait %steal %idle
1.49 0.00 0.65 0.29 0.00 97.58 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 3.27 6.38 48.27
vdb 0.00 0.00 0.00
vdc 12.22 145.74 120.85

输出含义:

avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值。重点关注iowait值,表示CPU用于等待io请求的完成时间。

Device: 各磁盘设备的IO统计信息。各列含义如下:

Device: 以sdX形式显示的设备名称
tps: 每秒进程下发的IO读、写请求数量
Blk_read/s: 每秒读扇区数量(一扇区为512bytes)
Blk_wrtn/s: 每秒写扇区数量
Blk_read: 取样时间间隔内读扇区总数量
Blk_wrtn: 取样时间间隔内写扇区总数量

2、iostat -x -k -d 1 2。每隔1S输出磁盘IO的详细详细,总共采样2次。

$ iostat -x -k
Linux 3.10.-514.26..el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ ( CPU) avg-cpu: %user %nice %system %iowait %steal %idle
1.49 0.00 0.65 0.29 0.00 97.58 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 6.85 0.67 2.60 6.38 48.27 33.39 0.02 5.72 5.46 5.78 0.27 0.09
vdb 0.00 0.00 0.00 0.00 0.00 0.00 14.75 0.00 1.55 1.55 0.00 1.55 0.00
vdc 0.06 14.87 6.91 5.31 145.72 120.84 43.62 0.11 9.04 9.92 7.89 0.89 1.09 avg-cpu: %user %nice %system %iowait %steal %idle
0.50 0.00 0.25 0.00 0.00 99.25 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 14.00 0.00 7.00 0.00 84.00 24.00 0.03 3.57 0.00 3.57 0.71 0.50
vdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
vdc 0.00 2.00 0.00 27.00 0.00 124.00 9.19 0.32 11.67 0.00 11.67 0.48 1.30

以上各列的含义如下:

rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
wrqm/s: 每秒对该设备的写请求被合并次数
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
avgqu-sz: 平均等待处理的IO请求队列长度
await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm: 平均每次IO请求的处理时间(毫秒为单位)
%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率

 重点关注参数

1、iowait% 表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题。

2、avgqu-sz 表示磁盘IO队列长度,即IO等待个数。

3、await 表示每次IO请求等待时间,包括等待时间和处理时间

4、svctm 表示每次IO请求处理的时间

5、%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态。

Linux性能测试分析命令_iostat的更多相关文章

  1. Linux性能测试分析命令_top

    top命令动态展示系统整体资源和各个进程资源占用状况,是Linux下常用的性能分析工具. top命令语法 使用格式:top [-] [d] [b] [H] [p] [q] [c] [C] [S] [s ...

  2. Linux性能测试分析命令_sar+iostat+vmstat+top

    sar主要用于收集并统计系统资源的信息,包括CPU.IO.内存.网卡流量等. vmstat命令主要是对操作系统的虚拟内存.进程.IO读写.CPU活动等整体情况进行统计.但是它不能对某个进程进行深入分析 ...

  3. Linux性能测试分析命令_vmstat

    vmstat命令主要是对操作系统的虚拟内存.进程.IO读写.CPU活动等整体情况进行统计.但是它不能对某个进程进行深入分析. vmstat基本语法 命令使用格式:vmstat [options] [d ...

  4. Linux性能测试分析命令_sar

    sar主要用于收集并统计系统资源的信息,包括CPU.IO.内存.网卡流量等. sar语法 用法:sar [ 选项 ] [ <时间间隔> [ <次数> ] ] 常用选项说明: - ...

  5. [转帖]Linux性能测试 pmap命令

    Linux性能测试 pmap命令 https://www.cnblogs.com/txw1958/archive/2012/07/26/linux-pmap.html 名称:       pmap - ...

  6. Linux性能分析命令工具汇总

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  7. linux性能分析命令top

    发布时间: 2013-12-14浏览次数:154分类: 服务器 top是linux最常用的性能分析工具了,它是个交互式工具,提供系统的整体性能,如正在执行的进程信息包括进程ID,内存占用率,CPU占用 ...

  8. linux 性能分析命令及其解释

    很多时候,我们需要对linux上运行的环境大体有一个了解,那么久需要大体知道当前系统的相关资源的使用情况,那么可以用一些linux提供的丰富的命令来查看 性能分析 vmstat 虚拟内存统计 用法 U ...

  9. linux性能分析命令1:top命令

    转载:http://www.cnblogs.com/peida/archive/2012/12/24/2831353.html top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的 ...

随机推荐

  1. UE4 Socket多线程非阻塞通信

    转自:https://blog.csdn.net/lunweiwangxi3/article/details/50468593 ue4自带的Fsocket用起来依旧不是那么的顺手,感觉超出了我的理解范 ...

  2. sas 经验小结(1)

    1.重要的事情说三遍:在SAS中,对数据集操作要在OPTIONS中使用Compress=yes 能有效的降低文件的大小. 在SAS运行LOG中,可以看如下提示: NOTE: 压缩的数据集 T.PHON ...

  3. POI实现数据导入功能

    一.导入过程(基本就是导出的逆向过程) 1.存在一个包含数据的Excel文件 2.将文件作为参数传到服务器 3.服务器解析文件,并将数据封装成实体对象 4.将对象持久化更新到数据库 5.刷新页面导入成 ...

  4. HBase的Shell命令和JavaAPI

    HBase的shell操作和JavaAPI的使用: Shell 表操作 创建表 create 'student','info' #表名 列族 插入表 put 'student','1001','inf ...

  5. 浅析Redis 和MongoDB

    今天来聊聊什么事nosql,一听nosql也许很多人会觉得很高大上的感觉,但其实接触过了也还觉得还行,随着当今数据的疯狂爆炸性的增长,传统的RDBMS也越来越暴露出他的不足之处,所以,作为一名合格的程 ...

  6. git创建远程项目并进行代码管理及相关命令

    1.windows下载Git     https://git-scm.com/downloads 然后一路点击安装 2.登录github,点击右上角创建仓库 3.在本地项目根目录下 输入如下命令 ss ...

  7. es6(12)--类,对象

    //类,对象 { //基本定义和生成实例 class Parent{ //定义构造函数 constructor(name='QQQ'){ this.name=name; } } let v_paren ...

  8. Linux 文件,目录,压缩,解压缩操作

    2018/11/20 1.find -name 'pom.xml' | xargs perl -pi -e  's|oldString|newString|g' (批量替换) ( 命令行中使用Perl ...

  9. 零基础学习python_字典(25-26课)

    今天学到后面的知识,突然发现之前学习到的字典列表啥的都有点忘了,打算补一下之前学到的字典,到时候你看的时候,字符串.列表.字典.元祖这几个没啥顺序,刚开始学的时候了解下方法,当然你可以死记硬背下,后面 ...

  10. 带约束的粒子群优化算法C++实现

    2018年1月份给师姐做的一个小项目,本来不打算写的,因为论文还没发表,涉及查重等乱七八糟的问题.... 感觉现在不写,以后应该来不及了,因为已经在实习岗位了.... 不做过多介绍,只做大概的描述,我 ...