I had a similar question about the monitoring of CPU usage on logical CPUs. I was trying to sort out some nmon reports and came to no conclusion. So I asked Nigel Griffiths (coder of nmon) in the IBM developerWorks forum about it:
https://www.ibm.com/developerworks/f...557461�
Quote:
...
I agree the logical CPU stats are largely meaningless for shared CPU partitions because the logical CPUs don't really exist as we think of them (they are sharing in unpredictable ways the underlying physical CPUs and certainly don't have fixed percentages of CPU time like 50:50) and especially when uncapped as its reported as 100% busy when its really say 5 times the entitlement which you could call 500% !!
Pay attention to the Physical CPU use (also called CPU used).
...
---------- Post updated at 04:38 PM ---------- Previous update was at 02:17 PM ----------
In addition to my previous somewhat general post:
Your assumption sounds correct to me, if the process is single threaded. If it is multithreaded and SMT is enabled, it should be dispatched by different logical CPUs and so take advantage being able to run multiple threads on multiple logical CPUs.
You can check dispatching with
mpstat -s 1 for example.
There is also a "Virtualization best practices" Redbook - maybe this has information about it.
A single threaded process will most probably not take any advantage of SMT or having more than 1 virtual CPU available, if it is running mainly alone on the system. It can only be handled by one virtual CPU at a time. Though a second virtual CPU can meanwhile handle other operating system tasks etc. In that case turn of SMT and monitor it's performance.
For tests you could try out
nstress.
You might want to check out what is best for your environment/application.
To check out if your application is multithreaded, check it out with
svmon -P| grep -p Pid. There will be a
Y in the column for
Mthrd.
In our environments we have SMT turned on, because on every LPAR there is usually running single and multithreaded processes and we had no need to turn SMT yet off.