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.

Flow
  • 958
  • 9
  • 15
Jakub Arnold
  • 1,674
  • 10
  • 25
  • 33

6 Answers6

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

15

Install iotop, and find which program is doing it.

wazoox
  • 6,782
  • 4
  • 30
  • 62
3

try vmstat and iostat

3

You may use the fancy dstat tool

Yuri
  • 193
  • 7
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.

Saurabh Barjatiya
  • 4,643
  • 2
  • 29
  • 34
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.

asdmin
  • 2,020
  • 16
  • 28