En informática , OProfile es una herramienta de creación de perfiles estadísticos para todo el sistema Linux . John Levon la escribió en 2001 para la versión 2.4 del núcleo Linux después de su proyecto de maestría ; [1] consta de un módulo del núcleo , un demonio de espacio de usuario y varias herramientas de espacio de usuario.
Detalles
OProfile puede perfilar un sistema completo o sus partes, desde rutinas de interrupción o controladores hasta procesos de espacio de usuario . Tiene una sobrecarga baja.
El modo de kernel de oprofile con mayor soporte utiliza un temporizador de sistema (consulte: Recopilación de eventos de creación de perfiles ). Sin embargo, este modo no puede medir las funciones del kernel donde las interrupciones están deshabilitadas. Los modelos de CPU más nuevos 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 un soporte más amplio: x86 (32 y 64 bits), DEC Alpha , MIPS , ARM , sparc64 , ppc64 , AVR32 .
Los gráficos de llamadas solo son compatibles con x86 y ARM.
En 2012, dos ingenieros de IBM reconocieron a OProfile como una de las dos herramientas de creación de perfiles de monitorización 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 mediante el sistema de rendimiento del kernel. [3]
Herramientas de espacio de usuario
- opcontrol se utiliza para iniciar y detener el demonio que recopila datos de creación de perfiles. Estos datos se guardan periódicamente en el directorio /var/lib/oprofile/samples .
- opreport muestra datos básicos de creación de perfiles. opannotate puede producir fuentes o ensamblajes anotados .
- opgprof convierte los datos de oprofile en un formato compatible con gprof . [4]
Ejemplo:
$ opcontrol --start # Si hay algún problema al iniciar como --vm-linux, simplemente siga las instrucciones
$ ./ ${ archivo_de_ejemplo }
El comando opcontrol --dump se ejecuta en el modo de copia de seguridad .
$ opreport -l ${ archivo_ejemplo } > ${ archivo_salida }
$ opcontrol --stop # detiene la recopilación de datos
$ opcontrol --shutdown # detiene al demonio
$ opcontrol --reset # borra los datos del perfil que se almacenaron en el archivo de muestra proporcionado
Véase también
Referencias
- ^ Entrevista: John Levon Archivado el 13 de mayo de 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 de OProfile será eliminado en Linux 5.12 - Phoronix".
- ^ "4. Resumen de herramientas". oprofile.sourceforge.io .
Enlaces externos
- Sitio web oficial
- W. Cohen, Programas de ajuste con OProfile // Wide Open Magazine, 2004, páginas 53–62
- Prasanna Panchamukhi, Rendimiento espectacular con OProfile. Identificación de cuellos de botella en el rendimiento de sistemas del mundo real // IBM DeveloperWorks, Technical Library, 16 de octubre de 2003
- Justin Thiel, Una descripción general de las herramientas y técnicas de análisis del rendimiento del software: desde GProf hasta DTrace, (2006) "2.2.2 Descripción general de Oprofile"