Friday, December 14, 2012

If You Read Only One Article On Troubleshooting Linux I/O Wait Issues, Make It This One

A bunch of my customer's VPS's were having odd performance issues. After looking in the usual places, I found myself needing to dig deeper. Before I knew it, I was running vmstat and trying to make sense of the results.

Once I wrapped my head around how much time was being spent waiting for IO, I decided I needed to track down which processes which were the culprits for this. This seemed like an obvious thing to do, but I couldn't find the command to give me this information. Then I found this article: Troubleshooting High I/O Wait in Linux, and things really clicked.

To cut to the chase, the command I was looking for was simply:

 for x in `seq 1 1 10`; do ps -eo state,pid,cmd | grep "^D"; echo "----"; sleep 5; done

Obvious, right?

Seriously, if you're struggling to make sense of how your system may be interacting with disk io, then go study this article.

Update: Actually, here's another really handy article to read: Linux File System Read Write Performance Test. You can run:

  dd if=/dev/zero of=speedtest bs=64k count=3200 conv=fdatasync

To get a quick sense of how fast disk write speed is.

No comments:

Post a Comment