Linux ofrece una serie de herramientas para examinar sus procesos en ejecución. Con las aplicaciones que se muestran a continuación, puede averiguar qué aplicaciones están consumiendo toda su memoria y qué archivos están adjuntos a esos programas no autorizados. O simplemente puede obtener una vista global del rendimiento de su sistema.
Independientemente de su nivel específico de interés, este tutorial le ofrecerá un punto de partida en ese viaje.
1. parte superior
Quizás el administrador de servicios/procesos más conocido en el conjunto de herramientas de Linux es parte superior. Su nombre es un acrónimo de “Table Of Processes”. La versión de Linux (otras se han escrito para Unix, Solaris, etc.) está alojada con el paquete procps, una colección de utilidades que puede obtener en el enlace de arriba.
Puede ver en esta captura de pantalla que top proporciona mucha información a la vez. En la parte superior de la pantalla, puede ver cuánto tiempo ha estado funcionando la computadora, el 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 el uso individual de CPU y memoria para varios procesos en ejecución en la mayor parte de la pantalla. La captura de pantalla aquí solo muestra los servicios que está ejecutando el usuario «raíz», y «systemd» ocupa el primer lugar como el consumidor que más usa la memoria con solo el 0,3 por ciento.
Puede ejecutar arriba en la línea de comando con solo top
para ingresar una lectura interactiva de todos los procesos en ejecución para todos los usuarios. Correr top U user
entrará en ese mismo tipo de entorno, pero mostrará los procesos para ese usuario específico.
También puede seleccionar un proceso en ejecución ejecutando primero pidof process
para ingresar esa salida en la parte superior 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 su pantalla.
2. iotop
Algunas empresas de servicios públicos intentan reducir lo que ofrece la parte superior. Uno de esos programas, iotop, hace exactamente eso. Su salida, como puede ver aquí, es mucho más simple que la del diluvio de top.
Iotop revela la entrada/salida de un proceso en ejecución. En la parte superior de su pantalla, muestra la lectura y escritura del disco, en bytes, antes de revelar la ID de cada proceso y la lectura, escritura y E/S individuales que están consumiendo.
Puede, al igual que con la parte superior, seleccionar la salida de iotop especificando parámetros como iotop -p pid
para monitorear un solo proceso o iotop -u user
para monitorear los procesos en ejecución de un solo usuario.
3. Monitorear
Desde el comienzo, monitorear trata de ser más específico pero aún fácil de usar. Se ejecuta como un demonio y seguirá los procesos y servicios que especifique en su archivo de configuración.
Iniciar el deamon desde la línea de comandos no parece gran cosa.
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 systemctl enable monit
el comando completará esa tarea.
Luego puede editar el archivo de configuración de Monit (ubicado en “/etc/monitrc”) para seguir y modificar procesos específicos desde el momento en que comienzan a ejecutarse. Consulte esta opción en el archivo de configuración a continuación.
Aunque las líneas están comentadas, puede ver que esta serie de comandos seguirá el proceso de Apache, lo iniciará o lo detendrá 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; utiliza palabras clave como «comenzar», «si», «entonces» y «dentro» para completar las tareas.
4. lsof
Si tiene curiosidad por saber qué archivos ha abierto un proceso cuando se está ejecutando, utilice lsof. ejecutando el lsof
El comando, de forma predeterminada, mostrará una lista de todos los archivos abiertos por cada proceso que se ejecuta en el sistema. Por lo tanto, puede ser útil ser más específico con su consulta.
Puede profundizar en el nombre específico de un proceso en ejecución, como Firefox, canalizando la salida de lsof a grep
que buscará una cadena que especifique.
Entonces, si desea averiguar 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.
Lo que puede replicar aquí es primero ejecutar lsof, luego buscar «firefox» como una cadena en la salida de lsof, luego buscar a través de esas líneas con «firefox» en ellas la cadena «libflac». Grep utiliza el -i
marca en ese último comando para ignorar mayúsculas y minúsculas en su búsqueda.
el comando final grep -i gdbus
se utiliza aquí para proporcionar un ejemplo de una sola línea. Selecciona arbitrariamente la única línea de salida que muestra «gdbus» como el comando de tarea identificado por lsof.
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 sencilla de esta lista, ps_mem, enumera el uso de memoria de los procesos en ejecución en un sistema. Una carrera en seco de ps_mem
en la línea de comando revelará una lista de todos los procesos en ejecución y su consumo de memoria individual.
Para investigar un proceso específico, puede enumerar su ID; recuerde usar pidof process
para obtener esa información – en el ps_mem -p process
dominio. Echa un vistazo a esta salida como referencia:
Ps_mem es útil si tiene un programa que cree que está usando demasiada memoria. Puede usarlo como una herramienta independiente o en conjunto con otros para verificar sus hallazgos.
Conclusión
No permita que las aplicaciones de su computadora se extravíen. Manténgalos bajo control con un vistazo rápido a top, iotop o ps_mem, e investigue más a fondo con Monit y lsof.
Estas son herramientas poderosas que tienen muchas más opciones disponibles en sus páginas de manual, así que asegúrese de leer también su documentación cuando investigue un problema problemático.
Credito de imagen: ¡Xfce al rescate!