Performance – How to Diagnose Ubuntu CPU Spikes and IO Wait


I'm using Ubuntu and every couple minutes it goes unresponsive for a half second to a full second, which isn't normally a problem but makes trying to code extremely frustrating when your trying to hit backspace or navigate the code and nothing is happening. The problem is, the freezes are so brief that top doesn't have time to show me what is spiking the CPU (assuming something is, but I don't know what else could cause this).

Does anyone know how to troubleshoot this performance issue?

Edit: I've tried login in with Gnome Classic (No Effects) instead of Unity but it still freezes up every once in awhile.

Edit: The CPU graph doesn't seem to be showing any actual spikes so it seems you were right and my original diagnosis of CPU spikes being the problem was incorrect, I now suspect IO wait. I don't recall this happening for the brief few weeks I had Windows 7 Starter running on it though, which leads me to believe it isn't (just?) the hardware.. is there anything I can tweak to improve this? I'm using an Acer Aspire One D257, with Ubuntu 11.10.

Edit: Output of dmesg is at and kern.log is at

Best Answer

There are two additional tools that you may want to check out:

If you don't get what you want from those two tools, then you may need to use developer-tools like OProfile or Sysprof.

All the tools listed are available from ubuntu repositories

Regarding your observation with usb, from what I've heard, some usb-controllers behave a bit flaky with certain hardware which can cause Interrupt-storms, this could cause what you are describing. Try searching for usb interrupt storm and you will get quite a few hits.

Related Question