terminal-comandos

Linux ofrece una serie de herramientas para examinar los procesos en ejecución. Con las aplicaciones que se muestran a continuación, puedes averiguar qué aplicaciones están consumiendo toda tu memoria y qué archivos están adjuntos a esos programas. O simplemente puedes obtener una vista global de cómo está funcionando tu sistema.

Independientemente de tu nivel específico de interés, este tutorial le ofrecerá un punto de partida en ese viaje.

1. TOP
Quizás sea el mejor administrador de servicios/procesos más conocido en el conjunto de herramientas de Linux. Su nombre es un acrónimo de “Table Of Processes”. La versión de Linux (otros se han escrito para Unix, Solaris, etc.) se aloja con el paquete procps, una colección de utilidades que puedes obtener en el enlace anterior.

process-top-clipped

Puedes observar en esta captura de pantalla que la parte superior proporciona mucha información a la vez. En la parte superior de la pantalla, puedes ver cuánto tiempo estuvo funcionando la computadora, su uso actual de la CPU y el uso actual de la memoria. Estos valores pertenecen a todo el sistema, no solo a los programas individuales que se muestran debajo de ese texto.

Por el contrario, puede ver también el uso individual de la CPU y la memoria para varios procesos en ejecución en la mayor parte de la pantalla. La captura de pantalla aquí solo muestra los servicios que el usuario “root” está ejecutando, y “systemd” aparece primero como el consumidor de mayor uso de memoria con solo 0.3 por ciento.

Puedes ejecutar top en la línea de comando con solo la parte superior para ingresar una lectura interactiva de todos los procesos en ejecución para todos los usuarios.

También puedes seleccionar un proceso en ejecución ejecutando primero el proceso pidof para ingresar ese resultado con top -p pid. Por ejemplo, pid firefox en esta máquina devuelve “2886”, por lo que ejecutar top -p 2886 muestra solo la información de ese proceso en tu pantalla.

2. iotop
Algunas utilidades intentan reducir lo que ofrece top. Uno de esos programas, iotop, hace exactamente eso. Su salida, como puedes ver aquí, es mucho más simple que el ejemplo superior, top.

process-iotop-clipped

Iotop revela la entrada/salida de un proceso en ejecución. En la parte superior de la pantalla, muestra la lectura del disco y la escritura del disco, en bytes, antes de revelar la ID de cada proceso y la lectura, escritura e I/O individual que están consumiendo.

Al igual que con top, puedes seleccionar la salida de iotop especificando parámetros como iotop -p pid para monitorear un solo proceso o iotop -u usuario para monitorear los procesos en ejecución de un solo usuario.

3. Monit
Desde el principio, Monit intenta ser más específico pero fácil de usar. Se ejecuta como un daemon y seguirá los procesos y servicios que especifiques en su archivo de configuración.

Iniciar el deamon desde la línea de comando no parece muy complicado.

process-monit-clipped

Para aprovechar al máximo las capacidades de Monit, es una buena práctica permitir que Monit se ejecute desde el inicio. Usando systemd, el comando systemctl enable monit completará esa tarea.

A continuación, puedes editar el archivo de configuración de Monit (ubicado en “/etc/monitrc”) para seguir y modificar procesos específicos desde el segundo momento en que comienzan a ejecutarse. Mira esta opción en el archivo de configuración a continuación.

Monit

Aunque las líneas están comentadas, puedes ver que esta serie de comandos seguiría el proceso de Apache, iniciarlo o detenerlo si es necesario y crear alertas cuando algo salga mal. El archivo de configuración está destinado a ser fácil de leer y editar; usa palabras clave como “inicio”, “si”, “luego” y “dentro” para completar tareas.

4. lsof
Si tienes curiosidad sobre qué archivos ha abierto un proceso cuando se está ejecutando, usa lsof. La ejecución del comando lsof mostrará, de forma predeterminada, todos los archivos abiertos por cada proceso que se ejecute en el sistema. Por lo tanto, puede ser útil ser más específico con tu consulta.

Puedes profundizar en el nombre específico de un proceso en ejecución, como Firefox, conectando la salida de lsof a grep, que buscará una cadena que especifiques.

Entonces, si quieres saber si Firefox está ejecutando una biblioteca de audio FLAC, un comando como el siguiente sería útil:

lsof | grep firefox | grep -i libflac

Reduce la salida de miles de líneas a aproximadamente veinte.

Una versión de ese comando produce lo siguiente.

process-lsof-clipped

Lo que puedes replicar aquí es ejecutar primero lsof, luego buscar “firefox” como una cadena en la salida de lsof, luego buscar en esas líneas con “firefox” en ellos para la cadena “libflac”. Grep usa la opción -i en ese último comando para ignorar mayúsculas y minúsculas en tu búsqueda.

El comando final grep -i gdbus se usa aquí para proporcionar un ejemplo de línea única. Recoge arbitrariamente la línea de salida que muestra “gdbus” como el comando de tarea lsof identificado.

Lsof muestra el comando asociado con un proceso en ejecución, su ID de proceso, el comando de tarea asociado con el archivo que ejecuta el proceso y el nombre del archivo adjunto al proceso en ejecución, además de algunos otros datos.

5. ps_mem
La aplicación más simple en esta lista, ps_mem, enumera el uso de memoria de los procesos en ejecución en un sistema. Una ejecución en seco de ps_mem en la línea de comandos revelará una lista de todos los procesos en ejecución y su consumo de memoria individual.

Para investigar un proceso específico, puedes listar su ID. Recuerda utilizar el proceso pidof para obtener esa información en el comando ps_mem -p process. Mira esta salida para referencia:

process-psmem-clipped

Ps_mem es útil si tienes un programa que crees que está usando demasiada memoria. Puedes usarlo como una herramienta independiente o en conjunto con otros para verificar tus hallazgos.

 

Fuente: Original | maslinux

¿Quién está en línea?

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