Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have this problem with server running CakePHP application. The server is insanely slow, I first thought that it's application problem, but then I found constant 5-6MB/s write to disk.

What is the easiest way to find cause of such a heavy write?

The server is running Gentoo.

share|improve this question
up vote 13 down vote accepted

Install iotop, and find which program is doing it.

share|improve this answer

As the author of Dstat I would point to additional options. You can easily see what process is consuming the most I/O bandwidth:

dstat -ta --top-bio

or dstat -ta --top-io

The first being the top block I/O, and the second the top I/O (including cached). This may help you validate if this is what you expect (both as consumer as well as the consumption).

There are some other plugins that can help you identify the disks utilization rate:

dstat -tdf --disk-util

So if you have I/O bottlenecks, this will tell you which disk(s) are involved so you can see if something can be done about it at that end.

And if you are troubleshooting specific (network) filesystems, one can use other plugins to get more information regarding those filesystems. Dstat also has plugins for other metrics (cpu, VM, virtualization, etc...) and depending on what you need to visualize you can write your own plugins, or modify existing plugins to show exactly what you need to correlate.

However if you need help, want to contribute or have a nifty new idea, contact me to see how we can proceed...

share|improve this answer

You may use the fancy dstat tool

share|improve this answer

From dstat man page - 'dstat -M time,cpu,net,disk,sys,load,proc,topcpu'. dstat comes installed with most distributions so is faster then installing iotop.

share|improve this answer

try vmstat and iostat

share|improve this answer

You can dump disk activities (along with the pid generating it) in syslog with the following command:

echo 1 > /proc/sys/vm/block_dump

Before issuing this, make sure that your system logs aren't on a block device, otherwise you'll end up in an infinite loop.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.