En informática , OProfile es una herramienta de perfilado estadístico para todo el sistema Linux . John Levon la escribió en 2001 para la versión 2.4 del kernel de Linux después de su proyecto de maestría ; [ 1 ] consta de un módulo del kernel , un demonio en el espacio de usuario y varias herramientas en el espacio de usuario.
Detalles
OProfile puede perfilar un sistema completo o partes del mismo, desde rutinas de interrupción o controladores hasta procesos en el espacio de usuario . Tiene una sobrecarga baja.
El modo de kernel más compatible de oprofile utiliza un temporizador del sistema (véase: Recopilación de eventos de perfilado ). Sin embargo, este modo no puede medir funciones del kernel donde las interrupciones están deshabilitadas. Los modelos de CPU más recientes admiten un modo de contador de rendimiento de hardware que utiliza lógica de hardware para registrar eventos sin necesidad de código activo. En Linux 2.2/2.4 solo se admiten x86 de 32 bits e IA64 ; en Linux 2.6 hay una compatibilidad más amplia: x86 (32 y 64 bits), DEC Alpha , MIPS , ARM , sparc64 , ppc64 , AVR32 .
Los gráficos de llamadas solo son compatibles con arquitecturas x86 y ARM.
En 2012, dos ingenieros de IBM reconocieron a OProfile como una de las dos herramientas de perfilado de monitores de contadores de rendimiento más utilizadas en Linux, junto con la herramienta perf . [ 2 ]
En 2021, OProfile se eliminará de la versión 5.12 del kernel de Linux, y las herramientas de espacio de usuario seguirán funcionando utilizando el sistema perf del kernel. [ 3 ]
Herramientas del espacio de usuario
- opcontrol se utiliza para iniciar y detener el demonio, que recopila datos de perfilado. Estos datos se guardan periódicamente en el directorio /var/lib/oprofile/samples .
- opreport muestra datos básicos de perfilado. opannotate puede producir código fuente o ensamblado anotado .
- opgprof convierte los datos de oprofile a un formato compatible con gprof . [ 4 ]
Ejemplo:
$ opcontrol --start # Si hay algún problema al iniciar, como por ejemplo --vm-linux, simplemente siga las instrucciones.$ ./ ${ example_file }$ opcontrol --dump $ opreport -l ${ example_file } > ${ output_file }$ opcontrol --stop # detiene la recopilación de datos$ opcontrol --shutdown # detiene el demonio$ opcontrol --reset # borra los datos de perfil que se almacenaron en el archivo de muestra proporcionadoVéase también
Referencias
- ↑ Entrevista: John Levon Archivada el 13/05/2012 en Wayback Machine , 11 de noviembre de 2001 // KernelTrap: "John Levon, el autor de OProfile"
- ↑ Netto, Adhemerval Zanella; Arnold, Ryan S. (12 de junio de 2012). "Evaluar el rendimiento de Linux en POWER: Analizar el rendimiento con herramientas de Linux" . developerWorks . Biblioteca técnica de IBM DeveloperWorks. IBM . Consultado el 21 de octubre de 2014. Las
dos herramientas más utilizadas para la creación de perfiles PCM en Linux son
OProfile
y
perf
[...].
- ↑ "El código del kernel OProfile está programado para ser eliminado en Linux 5.12 - Phoronix" .
- ↑ "4. Resumen de herramientas" . oprofile.sourceforge.io .
Enlaces externos
- Sitio web oficial
- W. Cohen, Programas de optimización con OProfile // Revista Wide Open, 2004, páginas 53–62
- Prasanna Panchamukhi, Optimización del rendimiento con OProfile. Identificación de cuellos de botella en el rendimiento de sistemas reales // IBM DeveloperWorks, Biblioteca técnica, 16 de octubre de 2003
- Justin Thiel, Una visión general de las herramientas y técnicas de análisis del rendimiento del software: De GProf a DTrace , (2006) "2.2.2 Descripción general de Oprofile"
- Características del kernel de Linux
- Perfiladores