Capítulo 43. OProfile

OProfile es una herramienta de supervisión de rendimiento que se ejecuta a lo largo de todo el sistema. Utiliza el hardware de supervisión de rendimiento en el procesador para recuperar información sobre el kernel y los ejecutables en el sistema, tal como cuando la memoria es referenciada, el número de peticiones caché L2 y el número de interrupciones de hardware recibidas. En un sistema Red Hat Enterprise Linux, el paquete RPM oprofile debe estar instalado para poder utilizar esta herramienta.

Muchos procesadores incluyen hardware dedicado a la supervisión. Este hardware hace posible detectar la ocurrencia de ciertos eventos (tales como que los datos solicitados no estén en caché). El harware normalmente toma la forma de uno o más contadores que son incrementados cada vez que ocurre un evento. Cuando el valor del contador llega al "máximo," se genera una interrupción, haciendo posible controlar la cantidad de detalles (y por tanto, la sobrecarga) producida por la supervisión del rendimiento.

OProfile utiliza este hardware (o un substituto basado en temporizadores en casos donde no está presente el hardware de supervisión) para reunir muestras de datos relacionados al rendimiento cada vez que un contador genera una interrupción. Estas muestras son escritas periódicamente al disco; luego los datos contenidos en estas muestras pueden ser usados para generar informes de rendimiento a nivel del sistema y de las aplicaciones.

ImportanteImportante
 

El soporte del kernel para Oprofile en Red Hat Enterprise Linux 3 esta basado en el código que permite el uso de versiones previas del kernel de desarrollo 2.5. Cuando se refiere a la documentación de Oprofile, las características particulares de 2.5 se aplican a Oprofile en Red Hat Enterprise Linux 3, aún cuando la versión del kernel sea 2.4. De la misma manera, las características de Oprofile específicas al kernel 2.4 no se aplican a Red Hat Enterprise Linux 3.

Oprofile es una herramienta útil, pero tenga en cuenta ciertas limitaciones cuando lo esté utilizando:

En Red Hat Enterprise Linux, sólo los kernels con múltiples procesadores (SMP) tienen el soporte de Oprofile activado. Para determinar cuál kernel se está ejecutando, ejecute el comando siguiente:

uname -r

Si la versión del kernel devuelve extensiones que terminan en .entsmp, el kernel multiprocesador no se está ejecutando. Si no lo está, instálelo a través de Red Hat Network o desde los CDs de la distribución, aún si el sistema no es un sistema con múltiples procesadores. El kernel multiprocesador puede ejecutarse en un sistema uniprocesador.

43.1. Descripción general de las herramientas

La Tabla 43-1 proporciona una breve descripción de las herramientas suministradas con el paquete oprofile.

ComandoDescripción
opcontrol

Configura qué datos son reunidos. Consulte la Sección 43.2 para más detalles.

op_help

Muestra los eventos disponibles para el procesador del sistema junto con una breve descripción para cada uno.

op_merge

Combina múltiples muestras desde el mismo ejecutable. Consulte la Sección 43.5.4 para más detalles.

op_timeProporciona una descripción general de todos los ejecutables perfilados. Vaya a la Sección 43.5.1 para más detalles.
op_to_sourceCrea un código fuente con notas para un ejecutable si la aplicación fue compilada con símbolos de depuración. Consulte la Sección 43.5.3 para más detalles.
oprofiled

Se ejecuta como un demonio para escribir periódicamente datos de muestra al disco.

oprofpp

Recupera datos del perfil. Vea la Sección 43.5.2 para más detalles.

op_import

Convierte archivos de la base de datos de muestras de un formato binario extraño al formato nativo para el sistema. Solamente utilice esta opción cuando esté analizando una base de datos de muestras desde una arquitectura diferente.

Tabla 43-1. Comandos OProfile