[e9a646]: about / index.php3 Maximize Restore History

Download this file

index.php3    86 lines (72 with data), 2.9 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php require("../start_page.php"); start_page("about/","About OProfile") ?>
<h2>Overview</h2>
<p>
OProfile is a system-wide profiler for Linux systems, capable of profiling
all running code at low overhead. OProfile is released under the GNU GPL.
</p>
<p>
It consists of a kernel driver and a daemon for collecting sample data, and several
post-profiling tools for turning data into information.
</p>
<p>
OProfile leverages the hardware performance counters of the CPU to enable profiling
of a wide variety of interesting statistics, which can also be used for basic
time-spent profiling. All code is profiled: hardware and software interrupt handlers, kernel modules, the kernel,
shared libraries, and applications.
</p>
<p>
OProfile is currently in alpha status; however it has proven stable over a large number
of differing configurations; it is being used on machines ranging from laptops to
16-way NUMA-Q boxes. As always, there is no warranty.
</p>
<h2>Features</h2>
<dl>
<dt>Unobtrusive</dt>
<dd>
No special recompilations, wrapper libraries or the like are necessary. Even debug symbols
(<tt>-g</tt> option to <tt>gcc</tt>) are not necessary unless you want to produce annotated source.
<br />
No kernel patch is needed - just insert the module.
</dd>
<dt>System-wide profiling</dt>
<dd>
All code running on the system is profiled, enabling analysis of system performance.
</dd>
<dt>Performance counter support</dt>
<dd>
Enables collection of various low-level data, and assocation with particular sections
of code.
</dd>
<dt>Call-graph support</dt>
<dd>
With an x86 or ARM 2.6 kernel, OProfile can provide gprof-style call-graph
profiling data.
</dd>
<dt>Low overhead</dt>
<dd>
OProfile has a typical overhead of 1-8%, dependent on sampling frequency and workload.
</dd>
<dt>Post-profile analysis</dt>
<dd>
Profile data can be produced on the function-level or instruction-level detail. Source trees
annotated with profile information can be created. A hit list of applications and functions
that take the most time across the whole system can be produced.
</dd>
<dt>System support</dt>
<dd>
OProfile works across a range of CPUs, include the Intel range, AMD's Athlon and AMD64 processors range,
the Alpha, ARM, and more.
OProfile will work against almost any 2.2, 2.4 and 2.6 kernels, and works on both UP and SMP
systems from desktops to the scariest NUMAQ boxes.
</dd>
</dl>
<h2>Example reports</h2>
<p>
You can see what sort of output OProfile can produce with <?php rlink("examples/", "the example reports"); ?>.
</p>
<h2>History</h2>
<p>
The early versions of OProfile were developed as part credit for an M.Sc. in Computer Science. The
basic principles of the design were inspired by Compaq's <?php rlink("links/", "DCPI"); ?> profiler.
</p>
<?php require("$top/end_page.php"); end_page("/about/index.php"); ?>