| Linux / Unix Command: readprofile |
NAME
readprofile - a tool to read kernel profiling informationSYNOPSIS
readprofile [ options ]DESCRIPTION
The readprofile command uses the /proc/profile information to print ascii data on standard output. The output is organized in three columns: the first is the number of clock ticks, the second is the name of the C function in the kernel where those many ticks occurred, and the third is the normalized `load' of the procedure, calculated as a ratio between the number of ticks and the length of the procedure. The output is filled with blanks to ease readability.
Available command line options are the following:
- -m mapfile
-
Specify a mapfile, which by default is
/usr/src/linux/System.map.
You should specify the map file on cmdline if your current kernel isn't the
last one you compiled. If the name of the map file ends with `.gz' it
is decompressed on the fly.
- -p pro-file
-
Specify a different profiling buffer, which by default is
/proc/profile.
Using a different pro-file is useful if you want to `freeze' the
kernel profiling at some time and read it later. The
/proc/profile
file can be copied using `cat' or `cp'. There is no more support for
compressed profile buffers, like in
readprofile-1.1,
because the program needs to know the size of the buffer in advance.
- -i
-
Info. This makes
readprofile
only print the profiling step used by the kernel.
The profiling step is the resolution of the profiling buffer, and
is chosen during kernel configuration (through `make config'),
or in the kernel's command line.
If the
-t
(terse) switch is used together with
-i
only the decimal number is printed.
- -a
-
Print all symbols in the mapfile. By default the procedures with 0 reported
ticks are not printed.
- -b
-
Print individual histogram-bin counts.
- -r
-
Reset the profiling buffer. This can only be invoked by root, because
/proc/profile
is readable by everybody but writable only by the superuser. However,
you can make
readprofile
setuid 0, in order to reset the buffer without gaining privileges.
- -M multiplier
-
On some architectures it is possible to alter the frequency at which
the kernel delivers profiling interrupts to each CPU. This option allows you to
set the frequency, as a multiplier of the system clock frequency, HZ.
This is supported on i386-SMP (2.2 and 2.4 kernel) and also on sparc-SMP
and sparc64-SMP (2.4 kernel). This option also resets the profiling buffer,
and requires superuser privileges.
- -v
-
Verbose. The output is organized in four columns and filled with blanks.
The first column is the RAM address of a kernel function, the second is
the name of the function, the third is the number of clock ticks and the
last is the normalized load.
- -V
-
Version. This makes
readprofile
print its version number and exit.
EXAMPLES
Browse the profiling buffer ordering by clock ticks:readprofile | sort -nr | lessPrint the 20 most loaded procedures:
readprofile | sort -nr +2 | head -20Print only filesystem profile:
readprofile | grep _ext2Look at all the kernel information, with ram addresses"
readprofile -av | lessBrowse a `freezed' profile buffer for a non current kernel:
readprofile -p ~/profile.freeze -m /zImage.map.gzRequest profiling at 2kHz per CPU, and reset the profiling buffer
sudo readprofile -M 20
Important: Use the man command (% man) to see how a command is used on your particular computer.

