iostat使用详解

iostat 是一个系统性能监控工具,它可以显示系统的 CPU、磁盘和网络的性能指标,帮助用户了解系统的运行情况和性能瓶颈。

iostat 命令的语法介绍

iostat [options] [interval [count]]

其中,options 是可选参数,interval 是输出数据的时间间隔,count 是输出数据的次数。如果使用 interval 不使用 count,则 iostat 默认以 1 秒钟为间隔输出数据,直到用户按下 Ctrl+C 终止输出。

个人认为interval 在定位系统问题的时候非常有用。

常用的选项包括:

  • -c:显示 CPU 使用情况
  • -d:显示磁盘 I/O 情况
  • -x:显示所有性能指标(适用于io查看)
  • -h:以人类可读的方式显示数据(感觉和d参数没啥区别)
  • -k:以 KB/s 为单位显示数据
  • -m:以 MB/s 为单位显示数据

iostat 命令输出的列意义如下:

  • Device:磁盘设备名

  • tps:每秒钟传输的 I/O 请求次数

  • kB_read/s:每秒钟读取的数据量,以 KB/s 为单位

  • kB_wrtn/s:每秒钟写入的数据量,以 KB/s 为单位

  • kB_read:读取的总数据量,以 KB 为单位

  • kB_wrtn:写入的总数据量,以 KB 为单位

  • %util:设备的利用率,即设备正在工作的时间所占总时间的百分比

  • %iowait:等待 I/O 完成的时间所占 CPU 时间的百分比

  • rrqm/s:每秒钟从硬盘读取的请求次数

  • wrqm/s:每秒钟向硬盘写入的请求次数

  • r/s:每秒钟从硬盘读取的数据块数

  • w/s:每秒钟向硬盘写入的数据块数

  • rsec/s:每秒钟从硬盘读取的扇区数

  • wsec/s:每秒钟向硬盘写入的扇区数

  • avgrq-sz:平均每次 I/O 操作的数据大小

  • avgqu-sz:平均 I/O 操作队列的长度

  • await:平均每次 I/O 操作的等待时间

  • svctm:平均每次 I/O 操作的服务时间

  • %util:设备的利用率,即设备正在工作的时间所占总时间的百分比

  • rxpck/s:每秒钟接收的数据包数

  • txpck/s:每秒钟发送的数据包数

  • rxkB/s:每秒钟接收的数据量,以 KB/s为单位

  • txkB/s:每秒钟发送的数据量,以 KB/s为单位

  • rxcmp/s:每秒钟接收的压缩数据包数

  • txcmp/s:每秒钟发送的压缩数据包数

  • rxmcst/s:每秒钟接收的多播数据包数

查看 CPU 使用情况

iostat 命令也可以显示系统的 CPU 使用情况,包括用户态、内核态、闲置时间、等待 I/O 时间等。可以使用以下命令查看 CPU 使用情况:

iostat -c

执行该命令后,终端会输出类似以下的结果:

Linux 5.11.0-36-generic (ubuntu)     09/26/2021      _x86_64_        (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.41    0.00    0.75    0.05    0.00   97.79

其中,%user 表示用户态 CPU 的使用率,%nice 表示 niced 进程的 CPU 使用率,%system 表示内核态 CPU 的使用率,%iowait 表示 CPU 等待 I/O 的时间占总时间的百分比,%steal 表示 hypervisor(虚拟化平台)从虚拟机中“窃取” CPU 的时间占总时间的百分比,%idle 表示 CPU 的闲置时间占总时间的百分比。

查看IO使用情况

iostat 命令可以用来查看 Linux 系统的磁盘 I/O 情况,包括每秒钟的读写请求数、每秒钟读写的数据量、平均每次 I/O 的响应时间等。可以使用以下命令查看磁盘 I/O 情况:

iostat -d

执行该命令后,终端会输出类似以下的结果:

Linux 5.11.0-36-generic (ubuntu)     09/26/2021      _x86_64_        (4 CPU)

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.23         0.00         4.49          0       5862
sdb               0.16         0.00         3.24          0       4218

iostat -dmx 1 命令会以每秒钟更新一次的频率,实时地显示 Linux 系统的 CPU、磁盘和网络 I/O 情况,包括每个磁盘分区的读写速度、每个网络接口的传输速度、每个 CPU 核心的使用情况等。该命令的参数含义如下:

  • -d:显示磁盘 I/O 情况;
  • -m:以 MB/s 为单位显示数据传输速度;
  • -x:显示扩展统计信息,包括每个分区的平均 I/O 大小、I/O 请求的等待时间等;
  • 1:每秒钟更新一次统计信息。

执行该命令后,终端会输出类似以下的结果,并且持续输出,直到按CTRL+C 停止:

Linux 5.4.0-80-generic (ubuntu)  09/26/2021  _x86_64_    (4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.08     0.91    1.66    0.88     0.02     0.01    27.37     0.02    6.17    9.02    2.14   0.71   0.21
sdb               0.00     0.00    0.00    0.00     0.00     0.00    14.79     0.00    6.77    6.77    0.00   0.56   0.00
sdc               0.00     0.01    0.01    0.13     0.00     0.01   163.79     0.00    2.94    1.29    3.07   0.17   0.00


Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.08     0.91    1.66    0.88     0.02     0.01    27.37     0.02    6.17    9.02    2.14   0.71   0.21
sdb               0.00     0.00    0.00    0.00     0.00     0.00    14.79     0.00    6.77    6.77    0.00   0.56   0.00
sdc               0.00     0.01    0.01    0.13     0.00     0.01   163.79     0.00    2.94    1.29    3.07   0.17   0.00

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: iostat是一个用于输出CPU和磁盘I/O相关的统计信息的命令。它属于sysstat软件包,可以通过使用"yum install sysstat"命令直接安装。\[1\]\[2\] iostat命令的使用格式为"iostat \[选项\] \[时间间隔\] \[次数\]"。其中,选项包括-c(仅显示CPU统计信息)、-d(仅显示磁盘统计信息)、-k(以KB为单位显示)、-m(以MB为单位显示)、-t(显示时间戳)、-V(显示版本信息)、-x(显示扩展统计信息)。可以通过指定设备名称或使用ALL来选择要显示的设备。还可以使用-p选项来显示指定设备或所有分区的统计信息。\[1\]\[3\] 例如,"iostat -d 2 3"表示每隔2秒显示一次设备统计信息,总共输出3次。"iostat -x sda sdb 2 3"表示每隔2秒显示一次sda和sdb两个设备的扩展统计信息,总共输出3次。"iostat -p sda 2 3"表示每隔2秒显示一次sda及其上面所有分区的统计信息,总共输出3次。\[3\] #### 引用[.reference_title] - *1* [iostat命令参数详解](https://blog.csdn.net/qq_40442753/article/details/109775384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [iostat 命令详解](https://blog.csdn.net/weixin_67470255/article/details/124090396)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值