Linux 磁盘 IO 卡顿如何排查?

在使用 Linux 的过程中,是否遇到过磁盘突然变得很卡、系统响应迟钝,甚至连输入命令都要等半天?很有可能是某个进程疯狂读写磁盘,导致 I/O 拥堵

如何快速排查是哪个进程导致了高磁盘 I/O?
如何实时监控磁盘读写情况?
今天就带你 用几条命令快速找出“幕后黑手”!

一、用 iotop 快速锁定“高 I/O 进程”

如果你想实时查看哪些进程正在疯狂读写磁盘iotop 是你的首选!

sudo iotop -ao

参数解释:

  • -a:显示累积 I/O 总量

  • -o:只显示正在发生 I/O 的进程

你能清晰看到哪个进程读写了多少数据,谁是“磁盘杀手”一目了然。

在这里插入图片描述

二、用 pidstat 监控各进程的 I/O 活动

除了实时监控,你还可以用 pidstat 观察一段时间内的 I/O 使用情况:

pidstat -d 1

它每秒刷新一次,显示每个进程的读写速度:

Time       UID       PID    kB_rd/s   kB_wr/s  Command   
14:20:01     0      1234     105.00      0.00   mysqld   
14:20:01     0      2345       0.00     32.00   rsyslogd

哪个进程读得最多、写得最猛,一目了然。

三、dstat:看磁盘+进程综合视图

如果你喜欢一目多用的工具,dstat 能同时展示:

  • CPU 使用率

  • 磁盘读写速度

  • 当前最“占用”磁盘的进程

命令如下:

dstat -cdlmn --top-io

实时、全面、直观,非常适合系统管理员或开发人员日常排查问题。

在这里插入图片描述

四、想深入研究?看 /proc/[pid]/io

如果你已经锁定某个进程,想知道它到底读了多少、写了多少磁盘,可以查看它的 /proc 目录:

cat /proc/1234/io

你会看到这样的内容:

read_bytes: 50000  
write_bytes: 100000

特别关注 read_byteswrite_bytes,就能评估它的实际磁盘压力。

五、没有工具?快速安装!

如果你发现命令提示“未找到”,可直接安装:

# Ubuntu / Debian  
$ sudo apt install iotop sysstat dstat    
# CentOS / RHEL   
$ sudo yum install iotop sysstat dstat

(建议同时安装 htopbtop,效果更炫酷)

六、总结

磁盘 I/O 问题一旦出现,不仅影响当前业务性能,甚至可能拖垮整个系统。 掌握这些命令,就相当于你手上多了一把“系统放大镜”,快速锁定问题源头,及时止损!

🔥运维干货分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

企鹅侠客

您的打赏是我创作旅程中的关键燃

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值