Linux命令:iostat

iostat 命令

基本介绍

iostat 命令用于显示系统的 IO 统计信息,包括 CPU 使用情况、磁盘 IO 统计、分区 IO 统计等。它是 sysstat 包的一部分,是 Linux 系统中常用的系统监控工具之一。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

语法

复制代码
iostat [选项] [延迟 [计数]]

常用选项

  • -c, --cpu:显示 CPU 统计信息
  • -d, --disk:显示磁盘统计信息
  • -N, --mount-points:显示带挂载点的设备名称
  • -h, --human:以人类可读的格式显示输出
  • -k, --kilo:以 KB 为单位显示输出
  • -m, --mega:以 MB 为单位显示输出
  • -t, --time:显示时间戳
  • -V, --version:显示版本信息
  • -x, --extended:显示扩展统计信息
  • --help:显示帮助信息

使用示例

1. 显示 CPU 和磁盘统计信息

bash 复制代码
iostat

2. 每 1 秒显示一次,共显示 5 次

bash 复制代码
iostat 1 5

3. 只显示 CPU 统计信息

bash 复制代码
iostat -c

4. 只显示磁盘统计信息

bash 复制代码
iostat -d

5. 以人类可读的格式显示输出

bash 复制代码
iostat -h

6. 以 KB 为单位显示输出

bash 复制代码
iostat -k

7. 以 MB 为单位显示输出

bash 复制代码
iostat -m

8. 显示时间戳

bash 复制代码
iostat -t

9. 显示扩展统计信息

bash 复制代码
iostat -x

10. 显示带挂载点的设备名称

bash 复制代码
iostat -N

输出格式说明

CPU 统计信息

  • %user:用户空间占用 CPU 时间的百分比
  • %nice:低优先级用户空间占用 CPU 时间的百分比
  • %system:系统空间占用 CPU 时间的百分比
  • %iowait:等待 IO 占用 CPU 时间的百分比
  • %steal:被虚拟机偷取的 CPU 时间的百分比
  • %idle:空闲 CPU 时间的百分比

磁盘统计信息

  • Device:设备名称
  • tps:每秒传输次数
  • kB_read/s:每秒读取的数据量(KB)
  • kB_wrtn/s:每秒写入的数据量(KB)
  • kB_read:读取的总数据量(KB)
  • kB_wrtn:写入的总数据量(KB)

扩展磁盘统计信息

  • Device:设备名称
  • rrqm/s:每秒合并的读请求数
  • wrqm/s:每秒合并的写请求数
  • r/s:每秒完成的读请求数
  • w/s:每秒完成的写请求数
  • rkB/s:每秒读取的数据量(KB)
  • wkB/s:每秒写入的数据量(KB)
  • avgrq-sz:平均请求大小(扇区)
  • avgqu-sz:平均队列长度
  • await:平均 I/O 等待时间(毫秒)
  • r_await:平均读等待时间(毫秒)
  • w_await:平均写等待时间(毫秒)
  • svctm:平均服务时间(毫秒)
  • %util:设备利用率

相关命令

  • top:动态显示系统资源使用情况
  • htop:交互式进程查看器
  • vmstat:显示虚拟内存状态
  • mpstat:显示 CPU 统计信息
  • sar:系统活动报告
  • pidstat:显示进程的 IO 统计信息

注意事项

  • iostat 命令需要安装 sysstat 包
  • 可以通过调整延迟和计数参数来监控系统的实时状态
  • 在分析磁盘 IO 性能问题时,iostat 命令是一个非常有用的工具
  • 可以使用 man iostat 查看完整的命令手册

总结

iostat 命令是 Linux 系统中用于监控 IO 统计信息的实用工具,它可以显示 CPU 使用情况、磁盘 IO 统计、分区 IO 统计等。通过 iostat 命令,用户可以快速了解系统的 IO 运行状态,对于系统性能分析和故障排查非常有帮助。

相关推荐
難釋懷18 小时前
Nginx自签名-OpenSSL
运维·chrome·nginx
2301_8035389518 小时前
CentOS版本差异详解和系统信息查看方法
linux·运维·centos
灰灰老师18 小时前
Docker部署Tomcat9
java·linux·docker·tomcat
Cx330❀18 小时前
【Qt 核心机制篇】深度解析 Qt 信号与槽(Signals & Slots)机制:从底层原理、实战演练到 Lambda 进阶
linux·开发语言·c++·人工智能·qt·ubuntu
田里的水稻18 小时前
OE_临时配置网络_linux系统终端命令行ip setting
linux·网络·tcp/ip
IT策士18 小时前
第14篇 Docker Compose 开发环境最佳实践:热重载与调试
运维·docker·容器
运维老郭18 小时前
【Kubernetes 性能排查】线上服务突然变慢?SRE 的 4 层排查法
运维·云原生·kubernetes
Cx330❀18 小时前
【Linux网络】从零构建高性能UDP服务器:从Echo到英译汉业务级实现
大数据·linux·服务器·开发语言·网络·c++·udp
Amnesia0_018 小时前
传输层协议UDP和TCP
linux·网络·tcp/ip·udp
minji...18 小时前
Linux 高级IO(三)多路转接之poll,poll的原理,poll版本的TCP服务器的实现
linux·服务器·网络·select·多路转接·epoll·poll