OProfile
OProfile est un outil de profilage de code pour Linux, dont la première version a été écrite par John Levon en 2001 en tant que projet pour son Master en sciences[2].
Développé par | John Levon |
---|---|
Première version | |
Dernière version | 1.2.0 ()[1] |
Système d'exploitation | Linux |
Environnement | Linux |
Langues | en |
Type | profiler |
Licence | GNU LGPL |
Site web | (en) Site officiel |
Oprofile se compose d'un module noyau, ainsi que d'un daemon et de plusieurs utilitaires en espace utilisateur (un module noyau n'est plus requis depuis la version 0.9.8).
Oprofile permet de profiler le système entier ou bien un sous ensemble tel que les routines d'interruption, les pilotes de périphériques ou les process en espace utilisateur. Le surcoût de l'instrumentation reste faible.
Les modes d'instrumentation portable de Oprofile utilisent les timers système pour générer des évènements de mesure à intervalles réguliers. Certains modes, spécifiques à certains processeurs mais moins intrusifs, consistent à utiliser les hardware performance counters (en) intégrés. Le support pour les versions 2.2/2.4 de Linux ne comprend que les processeurs 32bits x86 et IA64. Pour les versions 2.6 du noyau Linux de nombreuses architectures sont supportées: x86 et x86_64, DEC Alpha, MIPS, ARM, Sparc64, PPC64, AVR. Les diagrammes de flux (en) ne sont disponibles que pour x86 et ARM.
En 2012, les ingénieurs d'IBM ont reconnu Oprofile comme étant l'un des outils de monitoring les plus utilisés sous Linux (avec perf tool)[3].
Utilitaires
- opcontrol permet de contrôler le daemon qui collecte les données qui sont sauvées périodiquement sous le répertoire /var/lib/oprofile/samples.
- opreport permet d'afficher les données de base.
- opannotate est capable de commenter le code source ou l'assembleur.
- opgprof convertit les données de Oprofile en gprof[4].
Exemples:
opcontrol --start run <example> opcontrol --dump opreport -l <example> > <outputfile> opcontrol --stop (arrête de collecter les données) opcontrol --shutdown (efface les données)
Références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Oprofile » (voir la liste des auteurs).
- « OProfile - A System Profiler for Linux (News) » (consulté le )
- Interview: John Levon « Copie archivée » (version du 13 mai 2012 sur Internet Archive), 11 novembre 2001 // KernelTrap: "John Levon, the author of OProfile"
- A. Zanella, R. Arnold. Evaluate performance for Linux on POWER. Analyze performance using Linux tools, 12 Jun 2012 // IBM DeveloperWorks Technical library
- http://oprofile.sourceforge.net/doc/tools-overview.html
Annexes
Outils d'analyse de performances (en)
Liens externes
En anglais :
- http://oprofile.sourceforge.net/news/
- W. Cohen, Tuning programs with OProfile // Wide Open Magazine, 2004, pages 53-62
- Prasanna Panchamukhi, Smashing performance with OProfile. Identifying performance bottlenecks in real-world systems // IBM DeveloperWorks, Technical Library, 16 Oct 2003
- Justin Thiel, An Overview of Software Performance Analysis Tools and Techniques: From GProf to DTrace, (2006) "2.2.2 Overview of Oprofile"