当前位置:首页 > Linux > 正文

Linux查看iostat命令怎么用

安装sysstat包后,执行 iostat命令查看系统磁盘IO性能,常用参数: -d显示磁盘详情, -x扩展统计, -k/ -m指定单位, -p指定设备,后接间隔和次数(如 iostat -dx 2 5)。

在Linux系统中,监控磁盘和系统I/O性能是运维工作的核心任务之一。iostat作为Sysstat工具包的重要组成部分,提供了详细的存储设备性能数据,以下是如何使用它的完整指南:


iostat的作用与价值

iostat(Input/Output Statistics)用于监控:

  • 磁盘读写速度(MB/s)
  • I/O等待时间(await)
  • CPU利用率与I/O的关联
  • 设备吞吐量和队列深度
    通过分析这些指标,可快速定位磁盘瓶颈、RAID性能问题或存储配置缺陷。

安装iostat

大多数Linux发行版默认未安装,需通过Sysstat包获取:

# Debian/Ubuntu
sudo apt update && sudo apt install sysstat
# RHEL/CentOS
sudo yum install sysstat
# 验证安装
iostat -V

基础使用命令

查看整体统计(默认显示)

iostat

输出示例:

Linux查看iostat命令怎么用  第1张

avg-cpu:  %user   %system  %iowait  %idle
           15.2     10.1      8.3     66.4
Device     tps    kB_read/s    kB_wrtn/s    kB_dscd/s   kB_read   kB_wrtn
sda       25.3       320.1       180.5         0.0     1048576    589824
nvme0n1   0.02        0.1         0.0          0.0        1024         0
  • tps:每秒I/O请求数
  • kB_read/s:每秒读取数据量(KB)
  • kB_wrtn/s:每秒写入数据量(KB)
  • %iowait:CPU等待I/O的时间占比(>5%需警惕)

动态刷新显示

每2秒刷新一次,持续5次:

iostat 2 5

以MB/s为单位显示

iostat -m  # 将kB/s转为MB/s

高级参数详解

参数 作用 示例命令
-c 只显示CPU统计 iostat -c
-d 只显示磁盘统计 iostat -d 1 3
-x 扩展详情(关键!) iostat -x 1
-p 显示具体分区/设备 iostat -p sda
-h 人类可读格式(如MB/GB) iostat -h

扩展模式(-x)核心字段解析

iostat -x 1

输出关键列:

  • await:I/O平均等待时间(ms),>20ms表示磁盘过载
  • svctm:设备处理I/O的平均时间(ms)
  • %util:设备繁忙百分比(≥80%为性能瓶颈
  • aqu-sz:平均请求队列长度(>1表示排队)
  • r/s, w/s:每秒读/写请求数

实用场景示例

诊断高延迟磁盘

iostat -x 1 | grep -E 'Device|sdb'

sdbawait持续>50ms且%util>90%,表明磁盘响应缓慢。

监控SSD性能

iostat -p nvme0n1 2  # 针对NVMe设备

观察rMB/swMB/s是否接近硬件标称值。

生成CSV报告(用于分析)

iostat -o JSON -d 1 10 > iostat_report.json

常见问题解决

  • 问题:命令报错 iostat: command not found
    解决:重装Sysstat包,并启用服务:

    sudo systemctl enable --now sysstat
  • 问题:数据无更新
    解决:检查/etc/sysconfig/sysstat中的SADC_OPTIONS是否包含-d选项。

  • 问题:%util超过100%
    原因:在多路径或RAID环境下属正常现象,因并行I/O被重复计数。


替代工具推荐

  • iotop:实时进程级I/O监控
  • sar:Sysstat中的历史数据分析工具
  • vmstat:综合性能查看(含内存、CPU、I/O)

引用说明基于Sysstat官方文档及Linux man-pages,数据验证环境:

  • Sysstat版本:11.7.3
  • 内核版本:Linux 5.15.x
  • 权威参考
    Sysstat Documentation
    Linux man-pages: iostat(1)

最佳实践提示:生产环境中建议结合iostat -x 1top命令交叉分析,同时记录/proc/diskstats原始数据供长期追溯。

0