The column "CPU%" is often misleading for modern computer systems. IPC (instructions per cycle) is more informative in some cases. For background information, see http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html
@svenha There is an "Detailed CPU Time" that will tell you the time (in percentage) your CPU is waiting for I/O. It's already there.
IPC (instructions per cycle) could be a useful addition to the htop columns available. If you can provide a pointer on how to implement this, we will appreciate.
@Explorer09 Thanks for pointing out this option!
The tool 'tiptop' has implemented an IPC column: http://tiptop.gforge.inria.fr/
Thank you! This is really interesting. I'll take a closer look at this when I get the time allocated for it.
It needs PMCs (Performance Monitoring Counters). The main interface to access them on Linux is perf_event_open() (unless you want to do WRMSR/RDPMC instructions directly), and the perf_event_open man page has some sample code.
I should add that PMCs are often unavailable in cloud guests, but are now starting to show up: http://www.brendangregg.com/blog/2017-05-04/the-pmcs-of-ec2.html
Most helpful comment
@svenha There is an "Detailed CPU Time" that will tell you the time (in percentage) your CPU is waiting for I/O. It's already there.
IPC (instructions per cycle) could be a useful addition to the htop columns available. If you can provide a pointer on how to implement this, we will appreciate.