SGI
Open Source
Kernprof (Kernel Profiling)

This page describes Kernprof, a set of facilities for profiling the Linux kernel. It consists of a kernel patch that implements a number of profiling data collection mechanisms, as well as a device driver for controlling them, plus the user level command kernprof that allows a user to configure and control the kernel profiling facilities. At this time it also includes a small gcc patch that is necessary to build correct i386 kernels when profiling is compiled in (see the FAQ for details).

To use the kernel profiler, download and apply the kernel patch as normal to your linux source tree. Version 0.11 patches the 2.4.16 and 2.4.17 kernels, and version 0.12 patches the 2.4.19, 2.4.18, 2.5.3, 2.5.8, 2.5.10, and 2.5.17 kernels. Patches are also available against various earlier kernel versions (found in the download/old subdirectory). This patch supports the following architectures: i386, ia64, sparc64, and mips64. Version 0.12 of the kernel patch requires the use of the kernprof command version 1.5; version 0.11 of the kernel patch requires the use of kernprof command version 1.4; version 0.10 of the kernel patch requires the use of kernprof command version 1.3. The earlier version 0.9.x requires the use of kernprof command version 1.2.x.

$ cd linux
$ patch -p1 < profile-0.12.2-2.4.19.patch
$ make oldconfig

(make oldconfig exposes the new kernprof options.)

The user level command kernprof can be downloaded in source form.

Please consult the other pages of this project for more information on the provided facilities and usage instructions.