0

Your Linode, linodeXXXXX, has exceeded the notification threshold (1000) for disk io rate by averaging 1079.99 for the last 2 hours.

That's what I've been getting in my email for the past week, about 2-3 a day. I tried a few solutions, including finding other ServerFault posts on this issue, but they are not helping.

For example, I tried:

watch -n 1 "(ps aux | awk '\$8 ~ /D/  { print \$0 }')"

At various intervals, this will populate with an nginx process, or a kjournald process, etc but only for a few seconds. So it doesn't really help in figuring out what's causing it, it just tells me I keep getting high i/o.

Thus, the question becomes How can I identify what is causing this high i/o usage? Ideally, without starting at a process list for 6 hours.

Bartek
  • 759
  • 2
  • 8
  • 12

1 Answers1

5

Install and run iotop. The topmost processes in the iotop display are very likely the ones generating the majority of the I/O requests in your VM.

Steven Monday
  • 13,019
  • 4
  • 35
  • 45
  • @Bartek: you can also use the -o switch, which tells iotop to only show you the processes which are doing io. – nayden Oct 25 '10 at 21:12
  • Thanks, this is a great tool. I'll keep my eye on the display, but thus far nothing is really standing out (processes jumping around .. mySQL using some IO but only in 1-second spurts before going away from the list) – Bartek Oct 25 '10 at 21:26
  • what about in the absence of iotop, which requires admin privileges? – StatsSorceress Feb 06 '18 at 17:44