10

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.

6 Answers 6

15

Install iotop, and find which program is doing it.

19

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...

3

You may use the fancy dstat tool

3

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.

3

try vmstat and iostat

1

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .