Kishore Kumar Pusukuri
2011-05-30 18:03:18 UTC
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.
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
This message posted from opensolaris.org