Como ya lo adelantamos en un post anterior, el monitoreo de procesos en Linux es una tarea sumamente crítica para los administradores de sistemas. En esta oportunidad mostraremos cómo visualizar de forma dinámica los procesos con top, una herramienta muy conocida en el mundo Linux.
Procesos con top y uso de recursos del sistema
Una de las limitaciones de ps es que devuelve una «foto» del estado de los procesos en el momento que el comando se ejecuta. En cambio, top actualiza la información cada cierto tiempo (por defecto, cada tres segundos) y además provee otros datos útiles sobre el estado del sistema.
Veamos una salida típica de top en la Fig. 1. Se pueden distinguir dos áreas bien diferenciadas:
En las dos primeras filas del área marcada con el 1 vemos información sumamente importante sobre el estado actual del sistema:
Fila 1:
- top es el nombre del programa.
- 20:57:20 es la hora actual.
- up 2:53 indica que el equipo ha estado encendido por 2 horas y 53 minutos
- load average: 0.64, 0.30, 0.69 muestra la cantidad de procesos (en promedio) que están utilizando (o han estado esperando para utilizar) el CPU durante los últimos 60 segundos, 5 minutos, y 15 minutos, respectivamente. En otras palabras, 0.64 significa que durante los últimos 60 segundos el CPU ha estado «desocupado» el 36% del tiempo. De la misma manera, 0.30 y 0.69 indican que durante los últimos 5 y 15 minutos el CPU ha estado «desocupado» el 70% y el 31% del tiempo, respectivamente.
Fila 2:
- Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie muestra la cantidad de procesos que están corriendo actualmente en el sistema y sus posibles estados:
- running indica la cantidad de procesos que están corriendo. En la sección indicada con el 2 se los identifica con la letra R en la columna S (de Status).
- sleeping representa el número de procesos que no están corriendo actualmente pero que se encuentran esperando que ocurra un evento para «despertarse» (por ejemplo, una consulta al servidor web). Se indican con la letra S en la misma columna mencionada anteriormente.
- stopped son aquellos procesos que han sido detenidos (más detalles en el próximo post). Se identifican con la letra T.
- Un proceso se dice que está en estado de zombie cuando ha finalizado su ejecución pero todavía no ha sido «limpiado» de la tabla de procesos por su padre. Esto suele ser un indicador de que el programa padre tiene un bug. De existir, se indican con la letra Z.
Es importante notar que, para salir de top, deberemos presionar la letra q. Por otra parte, en el área identificada con 2 vemos información detallada sobre cada proceso, tema que trataremos con más detalle en el próximo post. ¡Hasta entonces!