iostat 命令:系统状态监控

一、命令简介

iostat ​命令用于报告系统中 CPU、磁盘、tty 设备和 CPU 利用率统计信息。

需安装 sysstat ​软件包,该软件包提供了一组工具,包括 iostat​、sar​、mpstat ​等,用于系统性能监控和报告。

二、命令参数

bash 复制代码
iostat [options] [interval [count]]

常用选项

  • -c, --cpu: 显示 CPU 使用率统计信息。
  • -d, --disk: 显示磁盘 I/O 统计信息。
  • -t, --tty: 显示 tty 设备的统计信息。
  • -x, --extended: 显示更多详细信息。
  • -h, --help: 显示帮助信息并退出。
  • -V, --version: 显示版本信息并退出。

参数

  • interval: 每次报告之间的延迟时间(以秒为单位)。
  • count: 要报告的次数。

三、命令示例

命令

bash 复制代码
iostat 			# 显示系统当前的平均负载,磁盘 I/O 统计信息
iostat -d 1 	# 显示磁盘 I/O 统计信息,每秒更新一次:
iostat -c 1		# 显示CPU使用率统计信息,每秒更新一次:
iostat -t 1		# 显示tty设备的统计信息,每秒更新一次:
iostat -x		# 显示更多详细信息:

iostat​ 命令(不带参数)输出示例

bash 复制代码
Linux 6.5.0-26-generic (k455l)  2024年04月09日  _x86_64_        (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.83    0.02    2.47    2.46    0.00   89.21

Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
md1              19.11       831.58       597.63         0.00   58353239   41936236          0
md127             0.02         0.08         0.00         0.00       5785          4          0
sda              10.95        60.44       294.93         0.00    4241232   20695817          0
sdb              18.51       534.18       600.51         0.00   37484009   42138410          0
sdc               0.00         0.02         0.00         0.00       1220          0          0
sdd               0.02         0.10         0.00         0.00       7141         21          0
sde              16.21       297.60       600.51         0.00   20883229   42138430          0
sdf               0.01         0.12         0.00         0.00       8097         24          0

在这个示例中,显示了各个设备(如 loop0​、sda​、sdb ​等)的 I/O 统计信息,包括每秒传输的 I/O 请求数量、读写数据量等:

  1. 系统信息

    • Linux 6.5.0-26-generic (k455l): 操作系统及主机名。
    • 2024年04月09日: 当前日期。
    • _x86_64_: 系统架构。
    • (4 CPU): CPU 数量。
  2. 平均 CPU 利用率

    • avg-cpu: 平均 CPU 利用率的统计信息。
    • %user: 用户空间程序占用 CPU 的百分比。
    • %nice: 以较高优先级运行的用户空间程序占用 CPU 的百分比。
    • %system: 内核空间程序占用 CPU 的百分比。
    • %iowait: CPU 等待 I/O 操作完成的百分比。
    • %steal: 被其他虚拟机或物理机偷取 CPU 时间的百分比。
    • %idle: CPU 空闲的百分比。
  3. 设备统计

    • Device: 设备名称。
    • tps: 每秒钟传输的 I/O 请求数量(即每秒钟的事务数)。
    • kB_read/s: 每秒钟从设备读取的数据量(单位:KB)。
    • kB_wrtn/s: 每秒钟写入设备的数据量(单位:KB)。
    • kB_dscd/s: 每秒钟从设备丢弃的数据量(单位:KB)。
    • kB_read: 读取自设备的总数据量(单位:KB)。
    • kB_wrtn: 写入设备的总数据量(单位:KB)。
    • kB_dscd: 从设备丢弃的总数据量(单位:KB)。

如果想要更多信息可使用 iostat -x​ 命令,将输出下列内容:

  • Device:设备名称。
  • r/s:每秒完成的读取请求次数。
  • rkB/s:每秒读取的数据量(单位:KB)。
  • rrqm/s:每秒合并的读取请求次数(合并的读取请求是由于相邻的读取请求可以合并为一个较大的读取请求)。
  • %rrqm:合并的读取请求占总读取请求的百分比。
  • r_await:平均读取请求等待时间(单位:毫秒)。
  • rareq-sz:平均读取请求的大小(单位:扇区)。
  • w/s:每秒完成的写入请求次数。
  • wkB/s:每秒写入的数据量(单位:KB)。
  • wrqm/s:每秒合并的写入请求次数(合并的写入请求是由于相邻的写入请求可以合并为一个较大的写入请求)。
  • %wrqm:合并的写入请求占总写入请求的百分比。
  • w_await:平均写入请求等待时间(单位:毫秒)。
  • wareq-sz:平均写入请求的大小(单位:扇区)。
  • d/s:每秒完成的删除请求次数。
  • dkB/s:每秒删除的数据量(单位:KB)。
  • drqm/s:每秒合并的删除请求次数(合并的删除请求是由于相邻的删除请求可以合并为一个较大的删除请求)。
  • %drqm:合并的删除请求占总删除请求的百分比。
  • d_await:平均删除请求等待时间(单位:毫秒)。
  • dareq-sz:平均删除请求的大小(单位:扇区)。
  • f/s:每秒完成的 I/O 请求失败的次数。
  • f_await:平均 I/O 请求失败的等待时间(单位:毫秒)。
  • aqu-sz:I/O 请求等待队列的平均长度(单位:请求)。
  • %util:设备的利用率百分比(即设备非空闲时间占总时间的百分比)。

相关推荐
运维小文15 小时前
linux中的特殊符号
linux·正则表达式·shell·linux命令
Bio Coder3 天前
window的Anaconda Powershell Prompt 里使用linux 命令
linux·运维·prompt·anaconda·linux命令
初学c++1 个月前
vmstat命令:系统性能监控
linux命令
初学c++1 个月前
wc命令:统计文本行数、单词数、字节数
linux命令
初学c++1 个月前
uname命令:系统信息
linux命令
初学c++2 个月前
userdel命令:删除指定Linux用户
linux命令
初学c++2 个月前
sudo 命令:掌握系统权限控制,实现安全高效管理
linux命令
初学c++2 个月前
smartctl 命令:查看硬盘健康状态
linux命令
初学c++2 个月前
more、less 命令:阅读文本
linux命令
初学c++2 个月前
rpm 命令:RedHat底层包管理器
linux命令