procdump

ProcDump es una utilidad en linea de comandos que nos permite monitorear el comportamiento de un programa, para determinar el motivo de que consuma demasiada CPU, algo que en algunos casos puede bloquear el sistema.

Para ello nos genera un archivo con un volcado de memoria (core dump) cada vez que se alcanza un criterio o excepción que hayamos especificado. Por ej. que una aplicación alcance un determinado pico de consumo de CPU.

Si hasta ahora no habías oído hablar de ella por estás tierras, es porque tan solo estaba disponible para Windows (una herramienta similar en Linux, para analizar el rendimiento sería perf).

Recientemente los de Redmond ha decidido liberar ProcDump para el sistema del pingüino, mediante licencia libre MIT, por lo que cualquiera puede examinar su código, contribuir al mismo, distribuirla o hacer un fork.

Es decir, todo lo contrario a lo que permite la misma herramienta en su edición con Windows, que todavía permanece con licencia privativa.

La instalación

Para su instalación podemos ir a la página de GitHub y seguir las instrucciones disponibles para Ubuntu 14.04 LTS y 16.04 LTS. Nos dan dos opciones:

  • Se puede añadir a Microsoft como fuente de software.
  • O simplemente descargar los archivos deb e instalarlo desde linea de comandos con dpkg. Si preferís una interfaz gráfica podéis utilizar el siempre útil gdebi.

Los usuarios de Arch Linux o algunas de sus derivadas (Antergos, Manjaro) nos lo encontramos en los repositorios comunitarios de AUR:

pacaur -S procdump

El uso

En GitHub encontramos algunas muestras de uso.

sudo procdump -C 50 -n 3 -s 5 -p 18725

En el ejemplo anterior creamos un volcado de memoria, cada que el proceso (PID) 18725 supone el 50% o más de uso de CPU.

Ese PID que corresponde a cada aplicación se puede obtener con herramientas como top, htop o ejecutando ps-A. En mi caso con smplayer:

ps -A | grep smplayer

El parámetro -n determina el número de archivos coredumps creados (3), mientras que con -s establecemos el tiempo (5 segundos) entre los mismos.

Además podemos combinar uso de memoria y CPU. En este caso “la alarma” salta cada vez que el uso del microprocesador es igual o mayor del 50%, también en el caso de que la memoria alcance los 100 MB:

sudo procdump -C 50 -M 100 -p 18725

Finalizado el proceso se crea en nuestro directorio personal un archivo core dumb, que se puede analizar con herramientas de depuración como gdb.

Existen otras posibilidades de uso de ProcDump, que podéis consultar en el manual del programa:

man procdump

 

Fuente: lamiradadelreplicante

¿Quién está en línea?

Hay 4200 invitados y ningún miembro en línea