Provided by:
manpages-es-extra_0.8a-17_all 
NOMBRE
readprofile - una herramienta para leer la informacion del perfil
(profile) del nucleo
SINOPSIS
readprofile [ options ]
VERSI'ON
Esta pagina de manual documenta la version 2.0 del programa.
DESCRIPCI'ON
El comando readprofile usa la informacion de /proc/profile para
imprimir datos ASCII por la salida estandar. La salida esta organizada
en tres columnas: la primera es el numero de impulsos de reloj, la
segunda es el nombre de la funcion C en el nucleo donde esos impulsos
ocurrieron y el tercero es la `carga' normalizada del procedimiento,
calculada como un ratio entre el numero de impulsos de reloj y la
duracion del procedimiento. La salida es rellenada con espacios en
blanco para mejorar la lectura.
Las opciones de linea de comandos disponibles son los siguientes:
-m mapfile
Especifica un fichero de mapa, el defecto es
/usr/src/linux/System.map. Puede especificar el fichero de mapa
en la linea de comandos si su nucleo actual no es el ultimo que
compilo. Si el nombre del fichero de mapa termina con `.gz' es
descomprimido transparentemente.
-p pro-file
Especifica un buffer de perfil diferente, por defecto es
/proc/profile. Es util especificar un nuevo buffer si desea
tener una `instantanea' del perfil del nucleo en un instante
determinado y desea leerla mas tarde. El fichero /proc/profile
puede ser copiado usando `cat' o `cp'. No existe soporte para
buffers de perfil comprimidos, como en readprofile-1.1, porque
el programa necesita saber de antemano el tamano del buffer.
-i Informacion. Esto hace que readprofile solo imprima el paso de
perfil usado por el nucleo. El `paso de perfil' es la
resolucion del buffer de perfil y es seleccionado durante la
configuracion del nucleo (a traves de `make config'), o en la
linea de comandos del nucleo.
Si la opcion -t (conciso) es usada junto con -i solo se imprime
el numero decimal.
-a Imprime todos los simbolos del fichero de mapa. Por defecto los
procedimientos con 0 impulsos de reloj no son impresos.
-r Reiniciar el buffer de perfil. Esto solo puede ser invocado por
el usuario root, porque /proc/profile puede ser leido por
cualquiera pero solo puede ser modificado por el superusuario.
De todas maneras, puede hacer readprofile setuid 0, para poder
reiniciar el buffer sin necesidad de los privilegios.
-v Prolijo. La salida es organizada en cuatro columnas y rellenada
con blancos. La primera columna es la direccion RAM de la
funcion del nucleo, la segunda es el nombre de la funcion, la
tercera es el numero de impulsos de reloj y la ultima es la
carga normalizada.
-V Version. Esto hace que readprofile imprima su numero de version
y termine.
EJEMPLOS
Ver el buffer de perfil ordenandolo por impulsos de reloj:
readprofile | sort -nr | less
Imprimir los 20 procedimientos mas cargados:
readprofile | sort -nr +2 | head -20
Imprimir solo el perfil del sistema de ficheros:
readprofile | grep _ext2
Mirar toda la informacion del nucleo, con las direcciones de RAM:
readprofile -av | less
Ver una `instantanea' del buffer de perfil para un nucleo que no es el
actual:
readprofile -p ~/profile.instantanea -m /zImage.map.gz
FALLOS
readprofile solo funciona con nucleos 1.3.x o superiores, porque
/proc/profile cambio en el paso entre el 1.2 y el 1.3
Este programa solo funciona con nucleos ELF. El cambio para nucleos
a.out es trivial y se deja como ejercicio para el usuario de a.out.
Para habilitar el perfil, el nucleo debe ser reiniciado, porque no
existe un modulo para el perfil y no seria facil de implementar. Para
habilitar el perfil, debe especificar "profile=2" (u otro numero) en la
linea de comandos del nucleo. El numero que especifique es el exponente
de dos usado como paso de perfil.
El perfil se encuentra deshabilitado cuando las interrupciones son
deshabilitadas. Esto significa que muchos de los impulsos de reloj
ocurren cuando las interrupciones se habilitan de nuevo. Guarde
atencion con la informacion que puede inducirle a error.
FICHEROS
/proc/profile Una imagen binaria del buffer de perfil.
/usr/src/linux/System.map El mapa de simbolos del nucleo.
/usr/src/linux/* El programa que se esta perfilando :-)