Linux查看iostat命令怎么用

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

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

Linux查看iostat命令怎么用


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

输出示例:

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次:

Linux查看iostat命令怎么用

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包,并启用服务:

    Linux查看iostat命令怎么用

    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,数据验证环境:

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

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/40816.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月28日 03:24
下一篇 2025年6月28日 03:29

相关推荐

  • Linux端口号怎么查

    使用netstat -tuln查看监听端口,ss -tuln更高效,lsof -i :端口号或lsof -i可查端口占用进程,nmap localhost扫描本机开放端口。

    2025年6月19日
    000
  • Linux如何安装pak文件

    将pak文件复制到程序指定的目录(通常是游戏或应用安装路径下的特定文件夹),具体位置需查阅相关软件的文档说明。

    2025年5月30日
    300
  • Linux怎样查看文件权限?

    使用ls -l 文件名命令查看文件权限,输出结果首列的10个字符表示权限(如-rw-r–r–),分别对应文件类型、所有者权限、所属组权限和其他用户权限。

    2025年6月10日
    100
  • 如何在Linux上下载图片却不显示?

    在Linux系统中,可通过命令行工具如wget或curl直接下载图片文件,下载过程仅保存数据不触发预览,例如使用wget 图片链接或curl -O 图片链接,文件将保存至当前目录,不会自动调用图片查看器打开,适用于脚本操作或纯下载需求。

    2025年5月28日
    100
  • linux如何快速关闭终端

    在Linux终端中,输入 exit 命令后按回车键,或者直接按快捷键 Ctrl + D,即可安全退出当前终端会话,终端窗口会关闭。

    2025年6月2日
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN