Zanchey's answer is the best I know to find out what is waiting for IO.
When you say your server is under high load, what do you mean by that? Something in particular is slow to respond?
If you are wondering if your Disk IO is the bottleneck, I would use the iostat command (part of the sysstat package) to see if the disk actually is under heavy load.
Example:
[kbrandt@kbrandt-opadmin: ~] iostat -x 1 3
avg-cpu: %user %nice %system %iowait %steal %idle
2.38 34.71 2.64 1.18 0.00 59.21
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.11 17.35 2.21 20.31 46.57 301.40 15.45 2.27 100.66 1.48 3.34
sda1 0.10 17.31 2.21 20.31 46.48 301.10 15.44 2.27 100.66 1.48 3.34
sda2 0.00 0.00 0.00 0.00 0.00 0.00 3.50 0.00 30.00 30.00 0.00
sr0 0.00 0.00 0.00 0.00 0.00 0.00 18.44 0.00 677.67 512.61 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
6.22 0.00 4.31 0.00 0.00 89.47
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
iowaitinformation,iotoprequires elevated privileges.watch,ps, andawkgive only the requisite information, and do not require elevated privileges. – Rich Dec 01 '17 at 16:46ps's POSIX flags andawked it out differently:watch "(ps -eo stat,pid,comm|awk '(NR==1)||(\$1~/D/){print}')"-- this way you get the column headings, and the stat, pid, and command. – Rich Dec 01 '17 at 16:58watch -n 1 "(\ps aux | awk '\$8 ~ /([RD]|STAT)/ { print \$0 }')"– Trevor Nov 14 '22 at 21:38