Section 9.1. Tools for Kernel Monitoring


9.1. Tools for Kernel Monitoring

There are several tools available in the Solaris environment to measure and optimize the performance of kernel code and device drivers. The following tasks are the most common:

  • Identify the reason for high system time (mpstat %sys). We can use a kernel profile (DTrace or lockstat -I) or trace (DTrace) to produce a ranked list of system calls, functions, modules, drivers, or subsystems that are contributing to system time.

  • Identify the reason for nonscalability on behalf of a system call. Typically, our approach is to observe the wall clock time and CPU cycles of a code path as load is increased. We can use DTrace to identify both the CPU cycles and endto-end wall clock time of a code path and quickly focus on the problem areas.

  • Understand the execution path of a subsystem to assist in diagnosis of a performance or functional problem. We can use DTrace to map the code's actual execution graph.

  • Identify the performance characteristics and optimize a particular code path. By measuring the CPU consumption of the code path, we can identify costly code or functions and made code-level improvements. The lockstat kernel profile can pinpoint CPU cycles down to individual instructions if required. DTrace can help us understand key performance factors for arbitrary code paths.

  • Identify the source of lock contention. We can use the lockstat(1M) utility and DTrace lockstat provider to quantify and attribute lock contention to source.

  • Examine interrupt statistics. We can use vmstat -i or intrstat (DTrace).




Solaris Performance and Tools(c) Dtrace and Mdb Techniques for Solaris 10 and Opensolaris
Solaris Performance and Tools: DTrace and MDB Techniques for Solaris 10 and OpenSolaris
ISBN: 0131568191
EAN: 2147483647
Year: 2007
Pages: 180

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net