miércoles, 1 de marzo de 2017

Encontrar procesos con mayor consumo en Linux

Lo se, mucho tiempo ha pasado, pero muchas cosas me han pasado, pero quiero no quiero aburrir con eso.

Hoy les traigo una traducción de un post que se me hizo muy bueno y practico a la vez. El original en ingles lo pueden encontrar en esta liga Find Top Running Process By Highest Memory and CPU Usage in Linux

Comencemos entonces.

Encontrar procesos con mayor consumo en Linux

Introducción


Los administradores mas eficientes, normalmente son personas flojas. La razón no es porque no hacen nada o pierden su tiempo en su trabajo. En muchos casos es porque automatizan sus tareas diarias. Por eso, no necesitan estar pegados al servidor y usan su tiempo para aprender nuevas tecnologías y estar al día en su área.

Parte de automatizar tareas, es aprender como los scripts hagan lo que debes hacer por ti mismo. Continuamente agregar nuevos comandos a tu base de conocimiento es importante. Por esa razón, en este articulo se compartirá un truco para conocer, cuales procesos están consumiendo mucha memoria y procesador en un equipo Linux.


Eso es, ahora veamos el detalle.

Comando


El siguiente comando mostrará la lista de procesos con mayor consumo de memoria RAM y CPU en forma descendente.

# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

Si se desea ver la lista completa, quitar el comando 'head' y el pipe.

Pequeña explicación


El parámetro -o (o -format) del comando ps, te permite especificar el formato de salida, es decir, el orden de los valor a mostrar por columnas. Del comando anterior seria PID's (pid del proceso), PPID's (pid del proceso padre), nombre del comando o proceso (cmd) y el uso, en porcentaje, de la memoria RAM y CPU (%mem, %cpu). El parámetro -e devuelve todos los procesos.

Ademas, se utiliza el parámetro --sort para ordenar la salida, en este caso por CPU. Por defecto, ordena de forma ascendente, pero si desean el orden descendente solo se agrega el símbolo menos al inicio.

Si se desea agregar otros campos en la salida, o cambiar el orden por otro campo, pueden revisar el manual del comando ps (man ps).

En resumen


El monitoreo de procesos es una de las numerosas tareas que un administrador de sistemas Linux hace. En este articulo observamos listar los procesos y ordenarlos acorde a la memoria RAM y CPU usado, utilizando el comando ps.

Esperando les sea de utilidad, nos vemos en la próxima publicación. Saludo