Un viejo amigo. TOP


Siempre llega un momento en que la máquina que estamos manejando comienza a no ir bien y es necesario ver que es lo que le está pasando. En Windows recurriremos al monitor de sistema (se accede mediante Ctrl+Atl+Supr) y con linux hay múltiples posibilidades. Una de las utilidades mas sencillas, intuitivas y que permite un rápido diagnostico es ‘top‘. Básicamente esta utilidad nos da el top ten de los procesos y un resumen de las condiciones del sistema de forma que de un vistazo es posible diagnosticar el sistema.

Así ‘top’ permite determinar de un vistazo rápido si está saturada la CPU y/o la memoria y los procesos que intervienen en mayor medida a ello. ‘top’ se lanzará desde una terminal e irá mostrando y actualizando la información en dicha terminal, sólo producirá una salida dirigida a fichero si se lanza con la opción ‘-b’ general. Permite interactuar con él de forma que la información mostrada se puede alterar permitiendo por ejemplo ordenar los procesos por distintos criterios. Para salir y volver a la línea de comando se hace con Ctrl+C.

Para ejecutar la utilidad lo que tenemos que hacer desde una terminal es:
$ top

La salida será del estilo a:

La primera línea muestra la hora actual, el tiempo que el sistema ha estado activo, el número usuarios conectados y el promedio de carga del sistema para los últimos 1, 5 y 10 minutos respectivamente. Esta información también se puede obtener ejecutando ‘uptime’.

Un dato muy interesante es la carga media del sistema que se mide realizando la media de los procesos encolados a la espera de procesador y es un dato muy significativo del estado del sistema. Un sistema que se mantiene permanentemente por encima de 4 veces su número de procesadores su ‘load average’ del último minuto presenta, normalmente, síntomas de sobrecarga.

Si no es necesario ver el promedio de carga, basta presionar la letra ‘l’ que lo activa/desactiva

La segunda línea muestra la cantidad de procesos en ejecución y de ellos cuales están activos, inactivos, etc.

La tercera línea muestra los detalles del uso de CPU distribuidas por el porcentaje de uso de hace de ella los procesos del usuario, el sistema, priorizados, tiempo que la CPU ha esperado para que se complete una I/O, tiempo que la CPU ha empleado en interrupciones del HW, tiempo que la CPU ha empleado en interrupciones del SW, tiempo de CPU robado a la máquina por otras razones.

La segunda y tercera línea se ocultan pulsando ‘t’.

La cuarta línea muestra la memoria física disponible y utilizada.

La quinta línea muestra la memoria física disponible y utilizada. La swap es una memoria muy lenta ya que implica lectura/escritura en disco, una alta ocupación de swap en general dará problemas de rendimiento.

La cuarta y quinta línea se ocultan con ‘m’.

El resto muestra los procesos en un formato tabular. Las columnas son:
PID: El ID del proceso
USER: El usuario que ejecuta el proceso
PR: La prioridad del proceso
NI: El valor nice: Cuanto más alto es el valor, más baja es la prioridad de la tarea
VIRT: Memoria utilizada por este proceso (código+datos+stack)
RES: Memoria física utilizada por este proceso
SHR: Memoria compartida utilizada por este proceso
S: El estado de este proceso, mostrado en códigos. Algunos son:

  • R – Running (en ejecución)
  • S – Sleeping (inactivo)
  • Z – Zombie (vacilante)
  • T – Stopped (detenido)

%CPU: Porcentaje de CPU utilizado por este proceso
%MEM: Porcentaje de memoria utilizado por este proceso
TIME:Tiempo total de CPU utilizado por este proceso
COMMAND: Comando utilizado por este proceso

Mientras se muestra top, puede presionar algunas teclas para formatear la representación visual. La ‘M’ clasifica la salida por uso de memoria. Es muy útil cuando se quiere descubrir quién consume la memoria. También es muy útil la ‘c’ que permite ver la línea de comando completa.

También es posible condicionar la salida de ‘top’ con parámetros. El más útil es -d, que indica la demora entre las actualizaciones de pantalla. Para actualizar cada segundo, usar top -d 1. Otra opción útil es -p si solo se desea monitorizar algunos procesos, así puede especificar solo aquellos a monitorizar después de la opción -p.

Haciendo un uso adecuado de este comando y con un poco de tino se pueden diagnosticar bastantes problemas de un sistema.

Compartir
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *