确定导致高 IO 的原因(Linux、Ubuntu)

Bar*_*tek 0 ubuntu performance

您的 Linode,linodeXXXXX,过去 2 小时的平均值为 1079.99,已超过磁盘 io 速率的通知阈值 (1000)。

这就是我过去一周收到的电子邮件,每天大约 2-3 个。我尝试了一些解决方案,包括在此问题上查找其他ServerFault 帖子,但它们没有帮助。

例如,我试过:

watch -n 1 "(ps aux | awk '\$8 ~ /D/  { print \$0 }')"
Run Code Online (Sandbox Code Playgroud)

在不同的时间间隔,这将填充 nginx 进程或 kjournald 进程等,但只会持续几秒钟。所以它并没有真正帮助找出导致它的原因,它只是告诉我我一直在获得高 i/o。

因此,问题变成了如何确定导致这种高 i/o 使用率的原因?理想情况下,不要从流程列表开始 6 小时。

Ste*_*day 5

安装并运行iotop。显示中最顶层的进程iotop很可能是生成 VM 中大部分 I/O 请求的进程。