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

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

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

过去一周,我每天在电子邮件中都会收到这样的邮件,大约 2-3 封。我尝试了一些解决方案,包括查找其他ServerFault 发布了有关此问题的帖子,但是并没有提供帮助。

例如,我尝试过:

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

在不同的时间间隔内,它将填充一个 nginx 进程或一个 kjournald 进程等,但只持续几秒钟。因此,它实际上并不能帮助找出导致问题的原因,它只是告诉我,我不断获得高 i/o。

因此,问题就变成了我如何确定导致 i/o 使用率如此高的原因是什么?理想情况下,6 小时内无需开始处理流程列表。

答案1

安装并运行iotop。显示中最顶层的进程iotop很可能是生成虚拟机中大多数 I/O 请求的进程。

相关内容