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打印

    在Linux中停止打印,可通过命令行停止打印服务:运行 sudo systemctl stop cups 来禁用CUPS服务,或取消打印作业:使用 lprm [作业ID] 删除队列中的任务。

    2025年6月23日
    200
  • linux如何添加超级用户

    在 Linux 中,可通过 useradd 新建用户,再用 usermod -aG wheel 用户名 将其加入 wheel 组(需配置好 /etc/sudoers),此后该用户便能用

    2025年8月7日
    200
  • 大白菜如何安装linux系统教程视频教程

    大白菜U盘工具制作启动盘,设置BIOS从U盘启动,按提示逐步安装

    2025年8月5日
    100
  • linux如何查看i o

    Linux中,可以使用iostat命令查看I/O,它能显示系统的磁盘I/O统计信息,如读写速度、IOPS等;iotop可实时监视磁盘I/O并按使用率排序;vmstat能报告内存、进程、虚拟内存和I/O等状态信息

    2025年7月14日
    200
  • Linux内核网卡支持查询指南

    查看Linux内核支持的网卡方法:,1. 使用 lspci -k 查看已安装网卡型号及加载的内核驱动。,2. 使用 dmesg | grep -i ethernet 检查内核启动时识别的网卡及驱动加载信息。,3. 查阅内核文档 /lib/modules/$(uname -r)/modules.alias 或 /usr/share/hwdata/pci.ids 获取支持的硬件ID列表。

    2025年6月11日
    200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN