KERNELTOP(1)

NAME
kerneltop - shows kernel function usage in an interactive style like 'top'

SYNOPSIS
kerneltop [ options ]

VERSION
This manpage documents version 0.8 of the program.

DESCRIPTION

The kerneltop command uses the /proc/profile and the kernel system map to print ascii data on standard output, updated once a second. The output is organized in three columns: the first is the address of the function, the second is the name of the C function in the kernel, and the third number of clock ticks the function has taken. The output is filled with blanks to ease readability, and can either be sorted by the number of ticks per function (the default), or the address of the function.

OPTIONS

Available command line options:

-m mapfile
    Specify a mapfile, which by default is /boot/System.map, or /boot/System.map-`uname -r` if /boot/System.map doesn't exist. You should specify the map file on the command-line if your current kernel isn't the last one you compiled, or `uname -r` does not refer to the correct suffix for the current System.map file. If the name of the map file ends with `.gz' it is decompressed on the fly.

-p profile
    Specify a different profiling buffer, which by default is /proc/profile. This should only be necessary if the proc filesystem is mounted somewhere other than /proc.

-l lines
    Lines. Number of lines to print on the display. Default is 20 and the maximum is 100.

-s seconds
    Sleep time between each pass in seconds. Default is 1 second.

-t ticks
    Lower threshold number of ticks to print. Default is 1 tick.

-u  Unsorted output. Default is sorted (by ticks). Note that unsorted output is actually sorted by address.

-V  Version. This makes kerneltop print its version number and exit.

EXAMPLES
Display 46 lines of output (useful for 50 line terminals):
   kerneltop -l 46

Show only proceses that use 5 ticks or more:
   kerneltop -t 5

Show unsorted output by default:
   kerneltop -u

INTERACTIVE Commands
There are a number of interactive commands available in kerneltop. The effect of these commands is documented above under OPTIONS.

<h> or <?>: Help

This is simply a list of available commands for the interactive mode.

<l>: Lines

Set number of console lines to use for display

<s>: Seconds

Set number of seconds between sample periods

<t>: Threshold

Set lower threshold for number of ticks required to be printed

<q>: Quit

Leaves the program

<u>: Unsorted/Sorted

Toggles between unsorted and sorted display (sorted by ticks)

BUGS

kerneltop works with a 2.6.x or newer kernel. Do not expect previous kernels to work, but they might. YMMV.

This program only works with ELF kernels. The change for a.out kernels is trivial, and left as an exercise to the a.out user.

To enable profiling, the kernel must be rebooted, because no profiling module is available, and it wouldn't be easy to build. To enable profiling, you can specify "profile=1" on the kernel commandline.

See Documentation/basic_profiling.txt , which can be found in the Linux kernel source tree for your kernel for more information.

Profiling is disabled when interrupts are inhibited. This means that many profiling ticks happen when interrupts are re-enabled. Watch out for misleading information.

Randy Dunlap <rddunlap@osdl.org>

FILES
/proc/profile              A binary snapshot of the profiling buffer.
/boot/System.map           The symbol table for the kernel.
/usr/src/linux/*           The program being profiled :-)

AUTHOR
This program is written by Randy Dunlap <rddunlap@osdl.org>, and is largely based on readprofile by Alessandro Rubini <rubini@ipvvis.unipv.it>.

SEE ALSO
readprofile(1), top(1)