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?