From 098043c5f96ee58756342cfbe7b49c2572f79a15 Mon Sep 17 00:00:00 2001 From: ddomingo Date: Wed, 11 Feb 2009 10:52:28 +1000 Subject: added section on how to monitor polling (testsuite/profiling/timeout.stp) --- .../en-US/Useful_Scripts-timeout.xml | 137 +++++++++++++++++++++ .../en-US/Useful_SystemTap_Scripts.xml | 1 + 2 files changed, 138 insertions(+) create mode 100644 doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml (limited to 'doc/SystemTap_Beginners_Guide') diff --git a/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml b/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml new file mode 100644 index 00000000..32ce8319 --- /dev/null +++ b/doc/SystemTap_Beginners_Guide/en-US/Useful_Scripts-timeout.xml @@ -0,0 +1,137 @@ + + + + +
+Monitoring Polling Applications + +script examples +monitoring polling applications + + + +examples of SystemTap scripts +monitoring polling applications + + + +monitoring polling applications +examples of SystemTap scripts + + + + + +polling applications, monitoring +examples of SystemTap scripts + + + +uses systemtap/testsuite/systemtap.examples/profiling/timeout.stp + + + + + This section how to identify and monitor which applications are polling. Doing so allows you to track + unnecessary or excessive polling, which can help you pinpoint areas for improvement in terms of CPU usage + and power savings. + + + + timeout.stp + + + + + + + + + tracks how many times each application used the following system calls over time: + + + + poll + select + epoll + itimer + futex + nanosleep + signal + + + + In some applications, these system calls are used excessively. For example, an application that + needs to perform a task once every hour could be configured (or even designed) to check the + clock every second if the hour has already passed. Such design idioms are throwbacks to earlier + kernel versions, which used a periodic tick. + + + + +script examples +timer.s(), sample usage + + + +examples of SystemTap scripts +timer.s(), sample usage + + + +timer.s(), sample usage +examples of SystemTap scripts + + + + You can increase the sample time by editing the timer in the second probe (timer.s()). + The output of contains the name and UID of the top 20 polling applications, + along with how many times each application performed each polling system call (over time). + contains an excerpt of the script: + + + + <xref linkend="timeouts"/> Sample Output + + uid | poll select epoll itimer futex nanosle signal| process +28937 | 148793 0 0 4727 37288 0 0| firefox +22945 | 0 56949 0 1 0 0 0| scim-bridge + 0 | 0 0 0 36414 0 0 0| swapper + 4275 | 23140 0 0 1 0 0 0| mixer_applet2 + 4191 | 0 14405 0 0 0 0 0| scim-launcher +22941 | 7908 1 0 62 0 0 0| gnome-terminal + 4261 | 0 0 0 2 0 7622 0| escd + 3695 | 0 0 0 0 0 7622 0| gdm-binary + 3483 | 0 7206 0 0 0 0 0| dhcdbd + 4189 | 6916 0 0 2 0 0 0| scim-panel-gtk + 1863 | 5767 0 0 0 0 0 0| iscsid + 2562 | 0 2881 0 1 0 1438 0| pcscd + 4257 | 4255 0 0 1 0 0 0| gnome-power-man + 4278 | 3876 0 0 60 0 0 0| multiload-apple + 4083 | 0 1331 0 1728 0 0 0| Xorg + 3921 | 1603 0 0 0 0 0 0| gam_server + 4248 | 1591 0 0 0 0 0 0| nm-applet + 3165 | 0 1441 0 0 0 0 0| xterm +29548 | 0 1440 0 0 0 0 0| httpd + 1862 | 0 0 0 0 0 1438 0| iscsid + + + + +
+ diff --git a/doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml b/doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml index 8b7fc741..ed089361 100644 --- a/doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml +++ b/doc/SystemTap_Beginners_Guide/en-US/Useful_SystemTap_Scripts.xml @@ -62,6 +62,7 @@ + -- cgit