Entendiendo el comando Top

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 (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

Existen muchisimos mas switches y opciones para utilizar con top solo puse algunas de ellas, pero si quieren saber mas de lo que puede hacer esta herramienta pueden ingresar el siguiente link:

http://linux.about.com/od/commands/l/blcmdl1_top.htm


4 thoughts on “Entendiendo el comando Top

  1. Pingback: Anónimo
  2. Un artículo muy bueno y pedagógico. Aún así, me queda alguna duda (seguramente es una tontería, pero me estoy ‘iniciando’ en esto de la informática, así que estoy hecho un lío). ¿Por qué la memoria Ram disponible es la suma de la cacheada + Buffered? ¿Es que la memoria Free, a pesar de estar libre, no está totalmente disponible?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s