I need this information to optimize the number of worker threads my custom application is allocating.
For example, if I just use top
on a single-threaded application on a two-core machine, the 100% CPU usage does not tell me if there is still unused capacity in the form of the other core!
What kind of monitoring tools can I use to detect the difference?
Use
htop
. It has many more features thantop
, including showing individual threads and individual CPU usage etc.http://manpages.ubuntu.com/manpages/oneiric/man1/htop.1.html
When running top, press 1, this will show per-core usage. Maybe it's what you need?