本文为joshua317原创文章,转载请注明:转载自joshua317博客 一天一个 Linux 命令(42):iostat 命令 - joshua317的博客

一、简介

Linux系统下的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析

iostat也属于sysstat软件包,如果系统没有安装,可以通过sudo yum install sysstat来安装。

二、格式说明

iostat [ options ] [ <interval> [ <count> ] ]
iostat [参数] [设备]Usage: iostat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]
[ <device> [...] | ALL ]

三、选项说明

-c   仅显示CPU使用情况-d    仅显示设备利用率-k  显示状态以千字节每秒为单位,而不使用块每秒-m  显示状态以兆字节每秒为单位-p 仅显示块设备和所有被使用的其他分区的状态-t  显示每个报告产生时的时间,并显示终端和CPU的信息-C 显示CPU使用情况-N 显示磁盘阵列(LVM) 信息-n 显示NFS 使用情况-x 显示详细信息-V 显示版本信息

四、命令功能

监视系统输入输出设备和CPU的使用情况

五、常见用法

5.1 显示所有设备负载情况

# iostatavg-cpu:  %user   %nice %system %iowait  %steal   %idle0.29    0.00    0.28    0.03    0.00   99.41Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               4.49         0.23        38.16    4811702  807627360
scd0              0.00         0.00         0.00       6218          0说明:
cpu属性值说明:%user:CPU处在用户模式下的时间百分比。%nice:CPU处在带NICE值的用户模式下的时间百分比。%system:CPU处在系统模式下的时间百分比。%iowait:CPU等待输入输出完成时间的百分比。%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。%idle:CPU空闲时间百分比。

注意:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

5.2 每隔两秒报告一次

# iostat -d 2Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               4.49         0.23        38.16    4811702  807614084
scd0              0.00         0.00         0.00       6218          0Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0

5.3 每2秒报告一次,持续5次

# iostat -d 2 5

5.4 显示sda与sdc的统计数据,每2秒报告一次,持续5次

# iostat -x sda sdc 2 5avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.29    0.00    0.28    0.03    0.00   99.41Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilavg-cpu:  %user   %nice %system %iowait  %steal   %idle0.75    0.00    0.25    0.13    0.00   98.87Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilavg-cpu:  %user   %nice %system %iowait  %steal   %idle2.00    0.00    0.50    0.00    0.00   97.50Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilavg-cpu:  %user   %nice %system %iowait  %steal   %idle0.13    0.00    0.25    0.00    0.00   99.62Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilavg-cpu:  %user   %nice %system %iowait  %steal   %idle4.64    0.00    1.76    0.63    0.00   92.97Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util

5.4 显示指定磁盘信息

# iostat -d vdaDevice:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               4.49         0.23        38.16    4811702  807633036

5.5 显示tty和Cpu信息

iostat -t11/23/2021 06:10:56 PM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.29    0.00    0.28    0.03    0.00   99.41Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               4.49         0.23        38.16    4811702  807635384
scd0              0.00         0.00         0.00       6218          0

5.6 以M为单位显示所有信息

# iostat -mLinux 3.10.0-1127.19.1.el7.x86_64 (service-01)  11/23/2021      _x86_64_        (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.29    0.00    0.28    0.03    0.00   99.41Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
vda               4.49         0.00         0.04       4698     788707
scd0              0.00         0.00         0.00          6          0

5.7 查看TPS和吞吐量信息

# iostat -d -k 1 5Linux 3.10.0-1127.19.1.el7.x86_64 (service-01)  11/23/2021      _x86_64_        (4 CPU)Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               4.49         0.23        38.16    4811702  807638408
scd0              0.00         0.00         0.00       6218          0Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               2.00         0.00       132.00          0        132
scd0              0.00         0.00         0.00          0          0Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.00         0.00         0.00          0          0
scd0              0.00         0.00         0.00          0          0

说明

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。

kB_read/s:每秒从设备(drive expressed)读取的数据量;

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;

这些单位都为Kilobytes。

5.8 查看设备使用率(%util)、响应时间(await)

# iostat -d -x -k 1 5Device:         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     2.91    0.01    4.48     0.23    38.16    17.11     0.02    5.14   20.56    5.10   0.32   0.14
scd0              0.00     0.00    0.00    0.00     0.00     0.00   100.29     0.00    0.54    0.54    0.00   0.36   0.00Device:         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     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
scd0              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.00Device:         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     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
scd0              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.00Device:         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    19.00    0.00    4.00     0.00   124.00    62.00     0.01    2.50    0.00    2.50   1.25   0.50
scd0              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.00Device:         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     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
scd0              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.00rrqm/s:  每秒进行 merge 的读操作数目.即 delta(rmerge)/swrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/sr/s:  每秒完成的读 I/O 设备次数.即 delta(rio)/sw/s:  每秒完成的写 I/O 设备次数.即 delta(wio)/srsec/s:  每秒读扇区数.即 delta(rsect)/swsec/s: 每秒写扇区数.即 delta(wsect)/srkB/s:  每秒读K字节数.是 rsect/s 的一半,因为每扇区大小为512字节.(需要计算)wkB/s:  每秒写K字节数.是 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系统已经满负荷,该磁盘可能存在瓶颈。
idle小于70% IO压力就较大了,一般读取速度有较多的wait。
同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)。

5.9 查看cpu状态

# iostat -c 2 5Linux 3.10.0-1127.19.1.el7.x86_64 (service-01)  11/23/2021      _x86_64_        (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.29    0.00    0.28    0.03    0.00   99.41avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.25    0.00    0.13    0.00    0.00   99.62avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.00    0.00    0.13    0.00    0.00   99.87avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.25    0.00    0.13    0.00    0.00   99.62avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.13    0.00    0.13    0.00    0.00   99.75

本文为joshua317原创文章,转载请注明:转载自joshua317博客 一天一个 Linux 命令(42):iostat 命令 - joshua317的博客

一天一个 Linux 命令(42):iostat 命令相关推荐

  1. Linux 命令之 iostat 命令-监视系统输入输出设备和 cpu 的使用情况

    介绍 iostat`命令被用于监视系统输入输出设备和 CPU 的使用情况.它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况.同 vmstat 一样,iostat 也有一个弱点,就是它不 ...

  2. linux下iostat命令无效,iostat命令详解

    iostat用于输出CPU和磁盘输入输出.分区.网络文件系统NFS相关的统计信息.iostat命令用于监控系统设备的输入/输出情况,并生成报告,以便根据统计报告修改系统配置,获取更优的性能. 命令格式 ...

  3. iostat linux,centos安装iostat命令的方法详解

    在centos系统中,可以使用yum命令安装iostat. 开始,想当然地运行命令: 复制代码 代码示例: #yum install iostat 出现如下图所示的提示: 经搜索后,知道使用yum安装 ...

  4. 使用vmstat和iostat命令进行Linux性能监控

    使用vmstat和iostat命令进行Linux性能监控 这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/uni ...

  5. Linux 命令(123)—— iostat 命令

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.命令简介 iostat(IO statistics)命令被用于监视 CPU 和输入输出设备的使用情况.iostat 有一 ...

  6. Linux查看负载 uptime,w ,top,iostat 命令

    负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态.如果机器负载过高,那么对机器的操作将难以进行. Linux的负载高,主要是由于CPU使用.内存使用.IO消耗三部分构成.任意 ...

  7. linux dmesg信息哪来的,linux中的dmesg命令简介

    今天, 我们来介绍一个linux中的dmesg命令,事实上, 我们之前用过, 但是没有单独介绍过. 看一下dmesg命令的用途吧: dmesg命令用会把开机信息存到ring bufer中, 形成一个缓 ...

  8. linux查看磁盘io命令

    五种方法 top命令.vmstat命令.iostat命令.iotop命令.pt-ioprofile命令 一. top命令 top - 11:41:22 up 51 min, 2 users, load ...

  9. 每天一个linux命令(47):iostat命令

    Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同 ...

最新文章

  1. vi php自动补全,vim7.2 代码自动补全的配置 | 学步园
  2. python语言入门m-Python语言入门详解!快速学成Python!
  3. 白话Elasticsearch24- 深度探秘搜索技术之TFIDF算法/向量空间模型算法/lucene的相关度分数算法
  4. C/C++头文件一览
  5. react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)
  6. memcached(五)--源码分析,启动
  7. selenium窗口截图操作
  8. LINUX模拟键盘F5的脚本(未试过)
  9. 华为交换机链路聚合使用ENSP模拟器进行实验
  10. erp系统用MySQL吗_教你如何给ERP系统选数据库
  11. 《工程伦理》网课第十二章课后习题答案
  12. 怎么理解python语言是一种强类型语言_Python 到底是强类型语言,还是弱类型语言?...
  13. Java8中 LocalDate和java.sql.Date的相互转换
  14. 全解一款六面体结构化网格划分利器-NUMECA IGG
  15. uni-app中利用eacycom机制快速创建复用组件
  16. 全排列—dfs(递归算法手动模拟)
  17. 了解语音合成系统WORLD(日语)(译)
  18. 健身房管理系统集成方案
  19. python中匹配函数_正则表达式以匹配函数名和Python中的所有参数
  20. 「浙江名度控股」小程序开发后如何推广?

热门文章

  1. mysql 存储utf8_Mysql以utf8存储gbk输出的实现方法
  2. demonstration记忆_托福阅读素材:婴幼儿期记忆缺失(社会科学篇)
  3. 微软大佬带你深入解析websocket丨tcp自定义协议的设计丨服务器高并发场景的优化
  4. 解决automake1.14编译问题
  5. 免费教学--手把手教你打造自己的计量器具管理信息化系统软件
  6. linux编译grpcswift,grpc使用记录(一)编译(mscv/gcc)
  7. A Theory of How Columns in the Neocortex Enable Learning the Structure of the World 论文研读
  8. javascript案例11——摇号、点名、随机点名
  9. python找不到scripts文件夹_Python目录下中没有Script文件夹
  10. 基于Android的智能求职招聘APP设计与实现