With top it's easy to find out how much CPU each job uses. However, I want to hunt down a job that causes a high wait CPU. Is there a way to find out which jobs are blocked on I/O?
With top it's easy to find out how much CPU each job uses. However, I want to hunt down a job that causes a high wait CPU. Is there a way to find out which jobs are blocked on I/O?
The processes blocked on IO are the ones marked as D in the status column (S column in top).
iotop and latencytop may be helpful. Neither gives exactly "CPU wait time caused by a process" -- I'm not sure it even makes sense, because the CPU can and does go off to service other processes while waiting for IO -- but these two tools give overviews of (respectively) system I/O traffic and scheduling delays.