oprofile: a System-Wide Profiler
参考《Linux® Debugging and Performance Tuning: Tips and Techniques》 chapter 10
oprofile is a low-overhead, system-wide profiler for Linux that uses performance-monitoring hardware on the processor to help find performance bottlenecks in both applications and the kernel. oprofile is a profiling system for Linux systems running the 2.2.x, 2.4.x, and 2.6.x kernels.
Utilities for oprofile
Five utilities help with oprofile, as described in the following list. The first and second are used to start and stop oprofile collection of data. The last three can be used to view oprofile data:
1. opcontrol starts and stops the oprofile daemon and provides setup parameters.
One useful parameter for opcontrol is save=filename, which is used to start with a clean slate. Another parameter is dump, which ensures that all the current profiling is flushed to the sample files before profiling data is analyzed.
2. oprof_start is a GUI program that is used to configure and control oprofile.
3. opreport gives image- and symbol-based profile summaries for the whole system or a subset of binary images.
4. opannotate outputs annotated source and/or assembly from profile data of an oprofile session.
5. opgprof can produce a gprof-format profile for a single binary.