Top es una herramienta que nos proporciona información de los procesos que se están ejecutando en tiempo real.

Publicado el 04 agosto 2013 por Hugo Rep @HugoRep
Top es una herramienta que nos proporciona información de los procesos que se estan corriendo en ese momento en tiempo real con valors de uso de CPU, memoria, swap y la posibilidad de manupular procesos. Presenta una interfaz simple que cuenta con varias partes.
Para ejecutar este comando solo tenemos que colocar en la consola:
# top
Y nos vamos a encontrar con algo como esto:
Se divide en dos la interfáz entre la cabecera y la lista de procesos corriendo en ese momento. La cabecera además se divide en 5 lineas:
  • Primera linea: Muestra una serie de datos referidos al sistema.
    • “02:51:37″: Es la hora actual de este caso
    • “up 59 min”: Es el tiempo en minutos que el sistema esta corriendo en este caso
    • “2 users”: Cantidad de usuarios conectados en ese momento
    • “Load average”: Los numeros indican el estado de uso del CPU. Si los numeros son menores a “1″ esto quiere decir que el CPU no tiene que esperar para poder ejecutar una instruccion. Si esta por encima de “1″ quiere decir que es necesario que el CPU necesite esperar para ejecutar una instruccion. Los tres numeros muestran el average cada 5, 10 y 15 minutos respectivamente.
  • Segunda linea: Muestra el total de procesos corriendo y los divide por estados, “Running”, “Slepping”, “Stopped”, “Zombie”.
  • Tercera linea: Muestra el uso de CPU en ese momento.
    • “%us”: muestra el uso de cpu del usuario
    • “%sy”: muestra el uso de cpu del sistema.
    • “%id”: muestra el uso de cpu disponible para utilizar.
    • “%wa”: muestra en porcentaje el tiempo en espera del cpu para manejo de I/O.
  • Cuarta linea: Muestra valores referentes a la memoria fisica del equipo (los valores pueden ser algo enañosos).
    • Tota: Es el valor total de la memoria fisica
    • Used: Es el valor de la memoria utilizada
    • Free: Es el valor de la memoria libre
    • Buffered: Es el valor de memoria fisica que esta en el buffer de memoria.
  • Quinta linea: Muestra valores referentes al uso de la memoria SWAP. Es similar a la cuarta linea en cuanto a los datos que proporciona salvo por un solo cambio que al final de la linea muestra la memoria que esta cacheada.
Ahora bien, como puedo calcular la memoria libre que tengo en el sistema?. Para eso lo que tenemos que hacer es sumar una serie de valores que nos presenta el comando top. La memoria disponible es la suma del valor “buffered” en la cuarta linea y el valor cached” de la quinta linea:
Memoria RAM disponible = Cached(12964k) + Buffered(153762k)
Para averiguar cuanta memoria estan utilizando los programas:
Memoria RAM utilizada por programas = Used (1942256) – (Cached(12964k) + Buffered(153762k))
Luego, en la parte inferior de la pantalla se encuentra la lista de procesos corriendo en el sistema en orden descendente. Cada linea cuenta con los siguientes datos:
  • PID: Process ID del proceso
  • USER: Usuario que esta corriendo dicha aplicacion
  • PR: Prioridad del proceso
  • NI: Valor por el cual se establece una prioridad para el proceso
  • VIRT: Total de la memoria virtual usada
  • RES: Resident task size
  • SHR: Estado del proceso. S (sleeping), D (uninterruptible sleep), R (running), Z(zombies), or T (stopped or traced)
  • %CPU, %MEM: Porcentajes de memoria y cpu utilizados en ese momento
  • Time: El tiempo de uso del procesador para ese proceso
  • Command: El comando que esta siendo ejecutado por el Daemon
Dentro del programa podemos interactuar con el con varias opciones:
  • k -> Si se quiere matar el proceso, luego debemos ingresar el numero de su PID.
  • r -> Cambia la prioridad del proceso
  • O (upercase) -> Muestra las posibles columnas que podemos agregar a la lista de procesos
  • 1 -> Muestra la información de todos los cores
  • z o b -> Agregan colores a la interfaz
  • c -> Muestra el path absoluto del binario que se esta ejecutando.
  • n -> nos permite reducir la lista a “n” procesos.
  • N (upercase) -> Ordena los procesos por PID
  • A (upercase) -> Ordena los procesos por aparicion, primero se encuentran los mas nuevos
  • P (upercase) -> Ordena los procesos por uso de CPU, esta opcion es la default
  • M (upercase) -> Ordena los procesos por memoria residente
  • T (upercase) -> Ordena los procesos por tiempo.
  • W (upercase) -> Guarda la configuracion que hicimos
  • q -> Salir de Top
Además top cuenta con una serie de switches además de las opciones anteriores:
  • top -u usuario -> Muestra los procesos que estan corriendo con ese usuario y sus valores
  • top -p PID -> muestra el proceso seleccionado y sus valores
  • top -n numero -> Numero es la cantidad de iteraciones que va a tener el comando y luego se cerrara
  • top -d numero -> “Numero” es el tiempop en segundos que va a esperar el comando para refrescar la lista.
  • top -b -> Batch mode, ideal para mandar resultados desde top a otros programas