我有运行CakePHP应用程序的服务器的这个问题。 服务器非常慢,我首先想到它是应用程序的问题,但后来我发现恒定的5-6MB / s写入磁盘。
find这样一个重写的原因最简单的方法是什么?
服务器正在运行Gentoo。
安装iotop ,并find哪个程序正在做。
作为Dstat的作者,我会指出其他的select。 您可以很容易地看到哪个进程消耗了最多的I / O带宽:
dstat -ta --top-bio
或者dstat -ta –top-io
第一个是顶层块I / O,第二个是顶层I / O(包括caching)。 这可以帮助你validation,如果这是你所期望的(消费者以及消费)。
还有一些插件可以帮助您识别磁盘利用率:
dstat -tdf --disk-util
所以,如果你有I / O的瓶颈,这将告诉你哪个磁盘被卷入,这样你就可以看到在这个端口上可以做些什么。
如果您正在对特定(networking)文件系统进行故障排除,则可以使用其他插件来获取有关这些文件系统的更多信息。 Dstat还具有其他指标(cpu,虚拟机,虚拟化等)的插件,根据您需要可视化的内容,您可以编写自己的插件,或修改现有的插件以准确显示您需要关联的内容。
但是,如果您需要帮助,想要贡献或有一个漂亮的新想法,请与我联系,看看我们可以继续…
你可以使用花哨的dstat工具
从dstat手册页 – 'dstat -M time,cpu,net,disk,sys,load,proc,topcpu'。 dstat安装了大多数发行版,所以安装iotop的速度更快。
尝试vmstat和iostat
您可以使用以下命令在syslog中转储磁盘活动(以及生成它的pid):
echo 1 > /proc/sys/vm/block_dump
在发布之前,请确保您的系统日志不在一个块设备上,否则最终会陷入无限循环。