当前位置:首页 > 问答 > 正文

磁盘性能|IO监控|linux查看磁盘io的常用命令与操作方法

🔍 磁盘性能大揭秘!Linux查看磁盘IO的常用命令与监控技巧

场景引入
凌晨3点,你正睡得香甜,突然被报警短信惊醒——服务器响应卡成PPT!💀 登录一看,磁盘IO飙到100%,但到底是哪个进程在疯狂读写?别慌!掌握这些Linux磁盘IO监控命令,你也能秒变"捉鬼专家"!👻


📊 基础监控三板斧

iostat - 磁盘负载体检报告

iostat -x 1  # 每1秒刷新一次,-x显示扩展指标

输出关键指标

  • %util:磁盘利用率(超过80%要注意)🚨
  • await:IO平均等待时间(单位毫秒,越高越卡)
  • r/s w/s:每秒读写次数

小技巧

iostat -xmd 2 | grep -E 'Device|sd[a-z]'  # 只看物理磁盘,排除分区

iotop - 实时进程IO排行榜

sudo iotop -o  # 只显示正在发生IO的进程

亮点

磁盘性能|IO监控|linux查看磁盘io的常用命令与操作方法

  • 类似top的交互界面,按o键动态排序
  • 直接揪出"磁盘杀手"进程🔪

dstat - 全能型监控仪表盘

dstat -cdlmnpy --disk-util  # 同时看CPU/内存/网络/磁盘

优势:彩色显示,一眼定位瓶颈点!🌈


🕵️‍♂️ 深度排查组合拳

场景1:历史IO分析

sar -d -p 1 3  # 查看历史磁盘活动(需安装sysstat)

输出示例

08:30:01    dev8-0   10.02    0.00  512.00    0.00    60.00

👉 分别对应:时间、设备、读速率、写速率、IOPS

场景2:追踪具体文件读写

sudo strace -p 进程PID -e trace=file 2>&1 | grep open  # 监视文件操作

场景3:模拟高IO压力测试

dd if=/dev/zero of=./testfile bs=1G count=1 oflag=direct  # 绕过缓存直接写

🛠️ 性能优化小贴士

  1. SSD优化

    磁盘性能|IO监控|linux查看磁盘io的常用命令与操作方法

    echo noop > /sys/block/sda/queue/scheduler  # 对SSD使用noop调度器
  2. 缓存策略

    sudo hdparm -W0 /dev/sda  # 关闭磁盘写入缓存(数据更安全但性能下降)
  3. 找出慢请求

    sudo blktrace -d /dev/sda -o - | blkparse -i -  # 追踪块设备请求

💡 常见问题QA

Q:iostat显示%util很低但系统还是很卡?
A:可能是磁盘硬件故障!用smartctl -a /dev/sda检查SMART状态。

Q:如何监控NFS/iSCSI等网络磁盘?
A:nfsiostatiscsiadm -m session -P 3是专用工具。

磁盘性能|IO监控|linux查看磁盘io的常用命令与操作方法


📅 最后的小提醒

  • 长期监控建议配置telegraf+Grafana可视化
  • 关键时刻别忘sync命令强制刷盘防止数据丢失!

掌握这些命令,下次磁盘IO爆炸时,你就能淡定地喝口咖啡☕,优雅地敲键盘啦! (数据参考:2025-08 Linux内核文档)

发表评论