summaryrefslogtreecommitdiffstats
path: root/cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt')
-rw-r--r--cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt85
1 files changed, 85 insertions, 0 deletions
diff --git a/cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt b/cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt
new file mode 100644
index 0000000..34afa95
--- /dev/null
+++ b/cddl/contrib/dtracetoolkit/Examples/cpuwalk_example.txt
@@ -0,0 +1,85 @@
+The following is a demonstration of the cpuwalk.d script,
+
+
+cpuwalk.d is not that useful on a single CPU server,
+
+ # cpuwalk.d
+ Sampling... Hit Ctrl-C to end.
+ ^C
+
+ PID: 18843 CMD: bash
+
+ value ------------- Distribution ------------- count
+ < 0 | 0
+ 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 30
+ 1 | 0
+
+ PID: 8079 CMD: mozilla-bin
+
+ value ------------- Distribution ------------- count
+ < 0 | 0
+ 0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10
+ 1 | 0
+
+The output above shows that PID 18843, "bash", was sampled on CPU 0 a total
+of 30 times (we sample at 1000 hz).
+
+
+
+The following is a demonstration of running cpuwalk.d with a 5 second
+duration. This is on a 4 CPU server running a multithreaded CPU bound
+application called "cputhread",
+
+ # cpuwalk.d 5
+ Sampling...
+
+ PID: 3 CMD: fsflush
+
+ value ------------- Distribution ------------- count
+ 1 | 0
+ 2 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 30
+ 3 | 0
+
+ PID: 12186 CMD: cputhread
+
+ value ------------- Distribution ------------- count
+ < 0 | 0
+ 0 |@@@@@@@@@@ 4900
+ 1 |@@@@@@@@@@ 4900
+ 2 |@@@@@@@@@@ 4860
+ 3 |@@@@@@@@@@ 4890
+ 4 | 0
+
+As we are sampling at 1000 hz, the application cputhread is indeed running
+concurrently across all available CPUs. We measured the applicaiton on
+CPU 0 a total of 4900 times, on CPU 1 a total of 4900 times, etc. As there
+are around 5000 samples per CPU available in this 5 second 1000 hz sample,
+the application is using almost all the CPU capacity in this server well.
+
+
+
+The following is a similar demonstration, this time running a multithreaded
+CPU bound application called "cpuserial" that has a poor use of locking
+such that the threads "serialise",
+
+
+ # cpuwalk.d 5
+ Sampling...
+
+ PID: 12194 CMD: cpuserial
+
+ value ------------- Distribution ------------- count
+ < 0 | 0
+ 0 |@@@ 470
+ 1 |@@@@@@ 920
+ 2 |@@@@@@@@@@@@@@@@@@@@@@@@@ 3840
+ 3 |@@@@@@ 850
+ 4 | 0
+
+In the above, we can see that this CPU bound application is not making
+efficient use of the CPU resources available, only reaching 3840 samples
+on CPU 2 out of a potential 5000. This problem was caused by a poor use
+of locks.
+
+
+
OpenPOWER on IntegriCloud