]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - Documentation/admin-guide/basic-profiling.rst
docs: Get rid of the badRAM guide
[karo-tx-linux.git] / Documentation / admin-guide / basic-profiling.rst
1 Basic kernel profiling
2 ======================
3
4
5 These instructions are deliberately very basic. If you want something clever,
6 go read the real docs ;-)
7
8 Please don't add more stuff, but feel free to
9 correct my mistakes ;-)    (mbligh@aracnet.com)
10
11 Thanks to John Levon, Dave Hansen, et al. for help writing this.
12
13 ``<test>`` is the thing you're trying to measure.
14 Make sure you have the correct ``System.map`` / ``vmlinux`` referenced!
15
16 It is probably easiest to use ``make install`` for linux and hack
17 ``/sbin/installkernel`` to copy ``vmlinux`` to ``/boot``, in addition to
18 ``vmlinuz``, ``config``, ``System.map``, which are usually installed by default.
19
20 Readprofile
21 -----------
22
23 A recent ``readprofile`` command is needed for 2.6, such as found in util-linux
24 2.12a, which can be downloaded from:
25
26         http://www.kernel.org/pub/linux/utils/util-linux/
27
28 Most distributions will ship it already.
29
30 Add ``profile=2`` to the kernel command line.
31
32 Some ``readprofile`` commands::
33
34         clear           readprofile -r
35                         <test>
36         dump output     readprofile -m /boot/System.map > captured_profile
37
38 Oprofile
39 --------
40
41 Get the source (see Changes for required version) from
42 http://oprofile.sourceforge.net/ and add ``idle=poll`` to the kernel command
43 line.
44
45 Configure with ``CONFIG_PROFILING=y`` and ``CONFIG_OPROFILE=y`` & reboot on new kernel::
46
47         ./configure --with-kernel-support
48         make install
49
50 For superior results, be sure to enable the local APIC. If opreport sees
51 a 0Hz CPU, APIC was not on. Be aware that idle=poll may mean a performance
52 penalty.
53
54 One time setup::
55
56                         opcontrol --setup --vmlinux=/boot/vmlinux
57
58 Some ``opcontrol`` commands::
59
60         clear           opcontrol --reset
61         start           opcontrol --start
62                 <test>
63         stop            opcontrol --stop
64         dump output     opreport >  output_file
65
66 To only report on the kernel, run ``opreport -l /boot/vmlinux > output_file``
67
68 A reset is needed to clear old statistics, which survive a reboot.