iostat是I/O statistics(输入/输出统计)的缩写,其主要功能是对系统的磁盘I/O操作进行监视。它的输出主要是显示磁盘读写操作的统计信息,同时也会给出CPU的使用情况。同vmstat命令一样,iostat命令也不能对某个进程进行深入分析,仅会对系统的整体情况进行分析。

iostat [option] [interval [count]]
1)在iostat命令及后面的选项里,每个元素之间都至少要有一个空格。
2)interval 表示两次输出之间的间隔时间。
3)count表示按照delay指定的时间间隔统计的次数。


iostat命令的参数选项及说明
-c    显示CPU的使用情况
-d    显示磁盘的使用情况
-k    每秒以kB为单位显示数据
-m    每秒以MB为单位显示数据
-n    显示NFS的使用情况
-t    显示每次统计的执行时间
-p    device指定要统计的磁盘设备名称,默认为所有的磁盘设备
-x    显示扩展统计


[root@cs6 ~]# iostat
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月06日 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
           0.26 0.00 0.28 0.04 0.00 99.42

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.81 58.79 37.24 181198 114780
dm-0 6.02 55.86 37.23 172178 114752
dm-1 0.10 0.78 0.00 2400 0


以下是命令结果说明。
第1~2行中各列的含义具体如下。
%user:用户进程消耗的CPU时间百分比。
%nice:改变过优先级的进程占用的CPU时间百分比。
%system:系统(内核)进程消耗的CPU时间百分比。
%iowait:I0等待所占用的CPU时间百分比。
%steal:虚拟机强制CPU等待的时间百分比。
%idle:CPU处在空闲状态的时间百分比。
第3~4行中各列的含义如下。
tps:表示该设备每秒的传输次数,“一次传输”的意思是“一次I/O请求”,多个逻辑请求可能会被合并为“一次I/O请求”,“一次传输”请求的大小是未知的。
Blk_read/s:表示每秒读取的数据块数。
Blk_wrtn/s:表示每秒写人的数据块数。
Blkread:表示读取的所有块数。
Blk_wrtn:表示写入的所有块数。

定时显示所有信息

[root@cs6 ~]# iostat 2 3
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
           0.24 0.00 0.26 0.04 0.00 99.47

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.70 51.07 36.11 182710 129196
dm-0 5.70 48.55 36.10 173690 129168
dm-1 0.08 0.67 0.00 2400 0

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

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0

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

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0

只显示磁盘统计信息。

[root@cs6 ~]# iostat -d
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.69 50.88 35.98 182710 129196
dm-0 5.68 48.36 35.97 173690 129168
dm-1 0.08 0.67 0.00 2400 0



[root@cs6 ~]# iostat -d -k
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.63 24.51 17.33 91355 64598
dm-0 5.47 23.30 17.33 86845 64584
dm-1 0.08 0.32 0.00 1200 0

[root@cs6 ~]# iostat -d -m
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 1.63 0.02 0.02 89 63
dm-0 5.45 0.02 0.02 84 63
dm-1 0.08 0.00 0.00 1 0


查看扩展信息
[root@cs6 ~]# iostat -d -x -k
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.28 2.99 0.89 0.39 19.03 13.52 50.97 0.00 1.38 1.23 1.73 0.73 0.09
dm-0 0.00 0.00 0.89 3.38 18.09 13.52 14.82 0.01 2.51 1.89 2.67 0.21 0.09
dm-1 0.00 0.00 0.06 0.00 0.25 0.00 8.00 0.00 0.09 0.09 0.00 0.09 0.00

以下是命令结果说明。
rrqm/s:每秒进行merge的读操作数目。
wrqm/s:每秒进行merge的写操作数目。
r/s:每秒完成的读I/O设备次数。
w/s:每秒完成的写I/O设备次数。
rkB/s:每秒读入的千字节数。
wkB/s:每秒写人的千字节数。
avgrq-sz:设备平均每次进行I/O操作的数据大小(扇区)。
avgqu-sz;平均I/O队列长度。
await:设备平均每次I/O操作的等待时间(毫秒)。
svctm:设备平均每次1/0操作的服务时间(毫秒)。
%util:每秒钟用于I/O操作的百分比。


只查看CPU的统计信息
[root@cs6 ~]# iostat -c
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
           0.17 0.00 0.19 0.03 0.00 99.60













11.7 iostat: I/O信息统计的更多相关文章

  1. Linux 系统管理命令 - iostat - I/O 信息统计

    命令详解 重要星级: ★★★★☆ 功能说明: iostat 是 I/O statistics ( 输入/输出统计 ) 的缩写,其主要功能是对系统的磁盘 I/O 操作进行监视.它的输出主要是显示磁盘读写 ...

  2. S11 Linux系统管理命令

    11.1 lsof:查看进程打开的文件 11.2 uptime:显示系统的运行时间及负载 11.3 free:查看系统内存信息 11.4 iftop:动态显示网络接口流量信息 11.5 vmstat: ...

  3. zabbix使用iostat命令参数监控磁盘性能

    iostat命令 先说一个坑把,在开始监控的时候使用命令iostat -dtkx,得到的结果看上去没问题,但是在web监控窗口数据就说不变动,为啥呢,因为iostat这个命令得到的第一个数据始终是磁盘 ...

  4. linux命令整理版(拷贝)

    一.文件和目录操作命令 1.pwd 显示当前所在位置 -L 显示逻辑路径,忽略软链接文件 -P 显示物理路径时如果当前目录路径时软链接文件,则会显示软链接对应的源文件 2.cd 切换目录 cd - 回 ...

  5. Linux按照CPU、内存、磁盘IO、网络性能监测

      系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书 ...

  6. inux按照CPU、内存、磁盘IO、网络性能监测

    http://my.oschina.net/chape/blog/159640 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长 ...

  7. centos7下zabbix4.0配置磁盘IO监控

    一:准备 1.1:安装sysstat yum -y install sysstat 1.2:安装zabbix-get yum install -y zabbix-get.x86_64 1.3:iost ...

  8. zabbix之 自动发现磁盘io util 监控

    一.iostat Zabbix并没有提供模板来监控磁盘的IO性能,所以我们需要自己来创建一个.iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之 ...

  9. Pinpoint - 应用性能管理(APM)平台实践之部署篇

    0.0 前言 国内的APM行业这两年刚刚起步,但是在国外却比较成熟了,并且由于这两年人力成本的快速提高,国内外涌现了几家非常不错的APM企业,例如APPdynamic,Dynamic,NewRelic ...

随机推荐

  1. 配置动态刷新RefreshScope注解使用局限性(一)

    在 Spring Cloud 体系的项目中,配置中心主要用于提供分布式的配置管理,其中有一个重要的注解:@RefreshScope,如果代码中需要动态刷新配置,在需要的类上加上该注解就行.本文分享一下 ...

  2. Day09_47_Map

    Map 集合 Map集合** 继承关系** <interface>: Map(接口)<---HashMap(class)/HashTable(class)/SortedMap(子接口 ...

  3. Python Basics with numpy (optional)

    Python Basics with Numpy (optional assignment) Welcome to your first assignment. This exercise gives ...

  4. 拿到蚂蚁金服的offer是一种什么体验?3年Java程序员分享面经

    前言:我是一名三年的Java程序员,之前一直是在外包公司工作的.在这个月五号的时候,通过我的学长做内推,有了去蚂蚁金服面试的机会.我是在12号接到的电话面试的,因为蚂蚁金服需要7天的简历评估的.还有就 ...

  5. hdu4267线段树段更新,点查找,55棵线段树.

    题意:      给你N个数,q组操作,操作有两种,查询和改变,查询就是查询当前的这个数上有多少,更改是给你a b k c,每次从a到b,每隔k的数更改一次,之间的数不更改,就相当于跳着更新. 思路: ...

  6. Android Hook学习之ptrace函数的使用

    Synopsis #include <sys/ptrace.h> long ptrace(enum __ptrace_request request, pid_t pid, void *a ...

  7. 后渗透阶段之基于MSF的内网主机探测

    当我们通过代理可以进入某内网,需要对内网主机的服务进行探测.我们就可以使用MSF里面的内网主机探测模块了. 在这之前,先修改 /etc/proxychains.conf ,加入我们的代理. 然后 pr ...

  8. Portswigger web security academy:Server-side request forgery (SSRF)

    Portswigger web security academy:Server-side request forgery (SSRF) 目录 Portswigger web security acad ...

  9. MySQL5.7升级到8.0过程详解

    前言: 不知不觉,MySQL8.0已经发布好多个GA小版本了.目前互联网上也有很多关于MySQL8.0的内容了,MySQL8.0版本基本已到稳定期,相信很多小伙伴已经在接触8.0了.本篇文章主要介绍从 ...

  10. C++ primer plus读书笔记——第2章 开始学习C++

    第2章 开始学习C++ 1. endl确保程序继续运行前刷新输出(将其立即显示在屏幕上),而使用"\n"不提供这样的保证,这意味着在有些系统中,有时可能在您输入信息后才会出现提示. ...