我在运行 CakePHP 应用程序的服务器上遇到了这个问题。服务器速度非常慢,我一开始以为是应用程序的问题,但后来我发现磁盘写入速度一直保持在 5-6MB/s。
找出如此大量写入的原因的最简单方法是什么?
该服务器正在运行 Gentoo。
答案1
安装iotop,并找出哪个程序正在执行此操作。
答案2
作为 Dstat 的作者,我想指出其他选项。您可以轻松查看哪个进程消耗了最多的 I/O 带宽:
dstat -ta --top-bio
或 dstat -ta --top-io
第一个是最高块 I/O,第二个是最高 I/O(包括缓存)。这可以帮助您验证这是否符合您的预期(无论是作为消费者还是消费方)。
还有一些其他插件可以帮助您识别磁盘利用率:
dstat -tdf --disk-util
因此,如果您有 I/O 瓶颈,这将告诉您涉及哪些磁盘,以便您可以了解是否可以采取一些措施来解决这个问题。
如果您正在排除特定(网络)文件系统的故障,则可以使用其他插件来获取有关这些文件系统的更多信息。Dstat 还具有用于其他指标(cpu、VM、虚拟化等)的插件,并且根据您需要可视化的内容,您可以编写自己的插件,或修改现有插件以准确显示您需要关联的内容。
但是如果您需要帮助、想要贡献或有一个漂亮的新想法,请联系我,看看我们如何进行......
答案3
您可以使用 dstat 工具
答案4
尝试 vmstat 和 iostat