Linux - How can I see what's waiting for disk IO
Solution 1:
You can use an I/O monitor like iotop, but it will show you only processes or threads with current I/O operations.
If you need to browse processes waiting for I/O, use watch to monitor processes with STAT flag 'D' like below:
watch -n 1 "(ps aux | awk '\$8 ~ /D/ { print \$0 }')"
Solution 2:
ps axu
and look for processes which are in the "D" state. Based on the ps(1) manpage, processes that are in the D state are in uninterruptable sleep, which almost always means 'waiting for IO'. Unfortunately, killing these processes is usually not possible.