Provided by: manpages-es-extra_0.8a-16_all bug

NOMBRE

       readprofile  -  una  herramienta  para  leer  la información del perfil
       (profile) del núcleo

SINOPSIS

       readprofile [ options ]

VERSIÓN

       Esta página de manual documenta la versión 2.0 del programa.

DESCRIPCIÓN

       El  comando  readprofile  usa  la  información  de  /proc/profile  para
       imprimir datos ASCII por la salida estándar.  La salida está organizada
       en tres columnas: la primera es el número  de  impulsos  de  reloj,  la
       segunda  es  el nombre de la función C en el núcleo donde esos impulsos
       ocurrieron y el tercero es la ‘carga’  normalizada  del  procedimiento,
       calculada  como  un  ratio  entre  el  número de impulsos de reloj y la
       duración del procedimiento. La salida  es  rellenada  con  espacios  en
       blanco para mejorar la lectura.

       Las opciones de línea 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 línea de comandos si su núcleo actual no es el último que
              compiló. Si el nombre del fichero de mapa termina con  ‘.gz’  es
              descomprimido transparentemente.

       -p pro-file
              Especifica  un  búffer  de  perfil  diferente,  por  defecto  es
              /proc/profile.  Es útil especificar un  nuevo  búffer  si  desea
              tener  una  ‘instantánea’  del  perfil del núcleo en un instante
              determinado y desea leerla más 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 tamaño del buffer.

       -i     Información.  Esto  hace que readprofile sólo imprima el paso de
              perfil  usado  por  el  núcleo.   El  ‘paso  de  perfil’  es  la
              resolución  del  buffer  de  perfil y es seleccionado durante la
              configuración del núcleo (a través de ‘make config’),  o  en  la
              línea de comandos del núcleo.

              Si  la opción -t (conciso) es usada junto con -i sólo se imprime
              el número decimal.

       -a     Imprime todos los símbolos del fichero de mapa. Por defecto  los
              procedimientos con 0 impulsos de reloj no son impresos.

       -r     Reiniciar  el buffer de perfil. Esto sólo puede ser invocado por
              el usuario  root,  porque  /proc/profile  puede  ser  leído  por
              cualquiera  pero  sólo 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  dirección  RAM  de  la
              función  del  núcleo,  la segunda es el nombre de la función, la
              tercera es el número de impulsos de reloj  y  la  última  es  la
              carga normalizada.

       -V     Versión.  Esto hace que readprofile imprima su número de versión
              y termine.

EJEMPLOS

       Ver el buffer de perfil ordenándolo por impulsos de reloj:
          readprofile | sort -nr | less

       Imprimir los 20 procedimientos más cargados:
          readprofile | sort -nr +2 | head -20

       Imprimir sólo el perfil del sistema de ficheros:
          readprofile | grep _ext2

       Mirar toda la información del núcleo, con las direcciones de RAM:
          readprofile -av | less

       Ver una ‘instantánea’ del buffer de perfil para un núcleo que no es  el
       actual:
          readprofile -p ~/profile.instantanea -m /zImage.map.gz

FALLOS

       readprofile  sólo  funciona  con  núcleos  1.3.x  o  superiores, porque
       /proc/profile cambió en el paso entre el 1.2 y el 1.3

       Este programa sólo funciona con núcleos ELF.  El  cambio  para  núcleos
       a.out es trivial y se deja como ejercicio para el usuario de a.out.

       Para  habilitar  el  perfil,  el  núcleo debe ser reiniciado, porque no
       existe un módulo para el perfil y no sería fácil de  implementar.  Para
       habilitar el perfil, debe especificar "profile=2" (u otro número) en la
       línea de comandos del núcleo. El número 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
       atención con la información que puede inducirle a error.

FICHEROS

       /proc/profile              Una imagen binaria del buffer de perfil.
       /usr/src/linux/System.map  El mapa de símbolos del núcleo.
       /usr/src/linux/*           El programa que se está perfilando :-)