Hi,
I would like to measure both system utilization and application (multithreaded 
application) progress on a 8-core machine running Solaris 10. I am using 
prstat(1) for measuring the progress of the application in terms of USR and 
planning to use mpstat(1) for mesauring overall system utilization in terms of 
(100 - idl).  I am running one multithreaded application at a time. 

However, I am observing some strange results. For example, when I run 
application A, its prstat output (average) is as follows. As you can see 
application A is utilizing system resources for around 67% of the elapsed time. 
I have used 1 second interval for both the prstat and mpstat. 

PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/NLWP  
11668 user   67 0.4 0.1 0.0 0.0  20  11 4.0 108 148 206   0   A/9

The following is the output of mpstat -a. As you can see, more or less mpstat 
also shows that application A is consuming system resources in the lines of the 
output of prstat.

SET minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl sze
  0 6468   0   74  1664  215 4599  926  345   94    0 22223   77   3   0  20   8


However, for another application B, there is a significant difference between 
prstat and mpstat outputs.  As you can see, prstat shows that application B is 
utilizing system resources for only 17% while mpstat shows it is around 98%. 

prstat output:
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/NLWP  
2342 user   17 0.2 0.0 0.0 0.0  70 0.0  13   4  40  49   0 B/43

mpstat output:
SET minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl sze
0 4662   0 32941 34085  248 1032  560   94   81    0  4124   98   2   0   0   8

Please help me to understand the above behavior. And also please let me know if 
there is any efficient way to measure overall system utilization. 

Actually I am working on developing a new scheduling algorithm for Solaris 10. 
For this, I need to monitor both the progress of the applications and also 
overall system utilization. I am planning to use USR of prstat as a metric to 
measure the progress of an application and the output of mpstat i.e., (100 - 
idl) as a metric for system utilization.
-- 
This message posted from opensolaris.org
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to