Suppose I have a large number of processes and one (or more) is IO bound, obvious by a high wa value in top. How can I pinpoint which process it is? Each process shows how much cpu is being used, but how can I tell how much that process is causing the OS to wait due to IO?

  • just note that the OS is not holding up "waiting" during "I/O wait" -- it runs any other scheduled processes that are not themselves waiting on I/O.
    – Jeff Schaller
    Jun 9, 2015 at 0:42
  • 3
    iotop will tell you physical I/O rates
    – jthill
    Jun 9, 2015 at 0:52
  • Although I'm not sure I disagree with this, I am less sure that I agree with it. Heavy IO can keep non-IO processes from responding.
    – drjrm3
    Jun 9, 2015 at 0:52

2 Answers 2


sudo iotop gives you a nice, top-like overview of all disk io activty like this:

iotop of tar cjvf ...

To install, use sudo apt-get install iotop


$ pidstat -d 5

Should print processes and their disk activity every 5 seconds. Pidstat can be found in the sysstat package.

$ sudo apt-get install sysstat

You must log in to answer this question.

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