The following is an example of the sampleproc program.
Here we run sampleproc for a few seconds on a workstation,
# ./sampleproc
Sampling at 100 hertz... Hit Ctrl-C to end.
^C
PID CMD COUNT
1659 mozilla-bin 3
109 nscd 4
2197 prstat 23
2190 setiathome 421
PID CMD PERCENT
1659 mozilla-bin 0
109 nscd 0
2197 prstat 5
2190 setiathome 93
The first table shows a count of how many times each process was sampled
on the CPU. The second table gives this as a percentage.
setiathome was on the CPU 421 times, which is 93% of the samples.
The following is sampleproc running on a server with 4 CPUs. A bash shell
is running in an infinate loop,
# ./sampleproc
Sampling at 100 hertz... Hit Ctrl-C to end.
^C
PID CMD COUNT
10140 dtrace 1
28286 java 1
29345 esd 2
29731 esd 3
2 pageout 4
29733 esd 6
10098 bash 1015
0 sched 3028
PID CMD PERCENT
10140 dtrace 0
28286 java 0
29345 esd 0
29731 esd 0
2 pageout 0
29733 esd 0
10098 bash 24
0 sched 74
The bash shell was on the CPUs for 24% of the time, which is consistant
with a CPU bound single threaded application on a 4 CPU server.
The above sample was around 10 seconds long. During this time, there were
around 4000 samples (checking the COUNT column), this is due to
4000 = CPUs (4) * Hertz (100) * Seconds (10).