Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Monitorización de Procesos
Monitorización de Procesos
El comando top, para GNU/Linux, nos informa del estado del sistema en tiempo real. Con este comando
podemos observar los usuarios conectados, los procesos y/o programas corriendo, aquellos programas y/o
procesos en estado latente, los parados, zombies. Situación de la memoria, tanto la principal como la
swaping, etc.
Además, podemos observar que usuario ha lanzado el proceso y/o aplicación, qué rendimiento tiene, qué
memoria está usando, etc. Con esta información podemos, por ejemplo, determinar si debemos detener o
“matar” un programa, proceso o demonio.
Ahora bien, si queremos conocer el estado del sistema en un determinado momento, el comando ps con
parámetros escogidos para conocer su actividad, nos permitirá recoger la información necesaria sobre el
estado del sistema.
Además de este completo comando, disponemos de un pequeño comando que nos muestra los procesos
en árbol indicando quién generó el proceso (proceso padre). Este comando se denomina pstree. Su uso es
alternativo a ps.
Ejecutando pstree –a. Nos muestra el árbol con los procesos y con los parámetros que se ha lanzado.
A partir de este punto debemos tomar decisiones. No tiene sentido, por ejemplo, mantener un proceso
zombie ocupando espacio en nuestra memoria principal y recursos del procesador en nuestro sistema.
¿Qué podemos hacer? La opción más válida es “matar” el proceso.
En sistemas Linux tenemos la opción del comando kill. Es un comando utilizado para enviar mensajes
sencillos a los procesos que estén ejecutándose en el sistema. Envía señales a procesos o grupos de
procesos en el sistema, referenciados por sus IDs de proceso (PIDs) o IDs de grupo de procesos (PGIDs).
Tenemos otra opción, killall.
Por ejemplo, lanzamos la aplicación openoffice writer. Comprobamos que no podemos cerrarla porque
tenemos “bloqueada” la aplicación. ¿Qué podemos hacer?
Primero comprobamos el PID de la aplicación.
usuario@debian6:~$ ps -aux|grep usuario
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
…………………..
usuario 2320 0.0 2.7 74500 10552 ? SL 08:50 0:00 gksu /usr/bin/x-terminal-emulator
usuario 3741 4.3 18.0 191344 69404 ? Sl 10:52 0:01 /usr/lib/openoffice/program/soffice.bin -
writer -splash-pipe=5
usuario 3780 2.2 3.0 83200 11780 ? Sl 10:52 0:00 gnome-terminal
usuario 3781 0.0 0.1 2112 496 ? S 10:52 0:00 gnome-pty-helper
usuario 3782 1.0 0.9 6492 3556 pts/2 Ss 10:52 0:00 bash
usuario 3805 0.0 0.2 3872 924 pts/2 R+ 10:53 0:00 ps -aux
usuario 3806 0.0 0.2 3320 796 pts/2 S+ 10:53 0:00 grep usuario
De toda la información que nos suministra nos fijamos en la línea marcada en rojo. Comprobamos que
soffice.bin es la aplicación que está ejecutando el usuario llamado “usuario”, cuyo PID es 3741.
Bien, ahora podemos eliminarlo con el comando kill.
Pero, y -9, ¿qué significa? Es exactamente lo mismo que si ejecutamos el comando de la siguiente
manera:
usuario@debian6:~$ kill -KILL 3741.
En el manual del propio comando aparecen las señales que se le pueden enviar al proceso. Por ejemplo,
tecleando “man kill”.
No debemos olvidar los siguientes comandos de monitoreo para control de inicio de programas y
aplicaciones y/o servicios. Disponemos de rcconf, sysv-rc-conf, dstat, bmon, ifstat.
Si queremos utilizar sar de sysstat, deberíamos seguir estos pasos en caso de que no funcione
correctamente.
En el caso de que no podamos lanzar la herramienta “sar” porque nos genere errores;
root@rocknrolla:~# sar
Cannot open /var/log/sysstat/sa27: No such file or directory
Please check if data collecting is enabled in /etc/default/sysstat
Antes de poder utilizar sar, es necesario activarlo. Debemos reconfigurar el paquete sysstat tecleando:
Ahora nos toca verificar si en el directorio /var/log/sysstat/ ya está el archivo que falta.
Dejamos que pasen unos 10 – 15 minutos para ver los datos recolectados tecleando;
root@rocknrolla:~# sar -A