El comando top
ofrece una rápida visión general de la información del sistema. Proporciona datos sobre los procesos actuales que se actualizan cada 3 segundos.
Si alguna vez habéis ejecutado el comando, os habréis dado cuenta que muestra mucha información. Para los administradores de sistemas, es esencial usar y entender perfectamente cómo funciona un comando como el top
.
En este artículo, os explicaré como utilizar el comando top con total confianza.
Ejecutando el comando...
Lo primero y esencial que haremos será ejecutar el comando top en nuestra terminal, deberemos de ver algo similar a esto:
top

A simple vista podemos comprobar fácilmente la carga de la CPU, el número de las tareas en curso, así como ver información sobre el uso de la memoria RAM.
En la parte superior de nuestro terminal, obtendremos los datos generales del servidor, debajo de ese apartado tendremos una tabla con procesos específicos con muchos detalles.
Hay mucha información que explicar, así que vamos a mirar de separarlo por diferentes secciones para dar mucho más detalle.
Información del usuario, tiempo en marcha y carga de la CPU
top - 11:14:29 up 7 min, 1 user, load average: 0.00, 0.04, 0.02
Lo primero que veremos es el nombre del comando acompañado de la hora con segundos del sistema. Al lado verás el tiempo de funcionamiento del sistema, en este caso 7 minutos. A continuación veremos cuantos usuarios están conectados al sistema, en mi caso un usuario. Finalmente, tendremos tres valores para el promedio de carga de la CPU. Estas cifras son lecturas de 1 minuto, 5 minutos y 15 minutos.
Para nuestros propósitos, los valores de carga pueden entenderse como una estimación de la "carga" sobre la capacidad de procesamiento de tu sistema. Por ejemplo, una carga de 1,0 significa que el 100% de su capacidad de procesamiento está trabajando en ese momento.
Las tareas
Tasks: 77 total, 1 running, 76 sleeping, 0 stopped, 0 zombie
Los procesos del sistema también se conocen como tareas. Un sistema operativo depende de una serie de procesos que se ejecutan en segundo plano para hacer posible otras actividades, como ejecutar un juego o un cliente de XMPP.
Los procesos pueden ejecutarse de muchas formas distintas y se priorizan utilizando diversos algoritmos los cuales no vamos a profundizar. Esto sirve para optimizar cómo y cuándo el ordenador realiza una tarea concreta.
Vamos a ver qué significa cada uno de estos estados:
Estado | Descripción |
---|---|
Running / Ejecutando | Activo / en cola para ser procesado |
Sleeping / Dormido | Esperando para el proceso se complete |
Stopped / Parado | Interrumpido por la señal de control de trabajo (CTRL+C, por ejemplo) |
Zombie | Compuesto por tareas secundarias "huérfanas" / que ya no se ejecutan |
Información de la CPU
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
Cada uno de los valores aquí indicados, es un porcentaje del tiempo dedicado a las taeras respectivas. En la tabla que hay a continuación, se explica qué significa cada abreviatura.
Abreviatura | Descripción |
---|---|
us | Procesamiento en modo usuario |
sy | Procesamiento realizado en modo sistema/núcleo |
ni | Tiempo dedicado a procesos "Nice" |
id | Tiempo de inactividad |
wa | Esperando a que se complete un proceso de E/S |
hi | Tiempo dedicado a interrupciones de hardware |
si | Tiempo empleado debido a interrupciones de software |
st | Tiempo "robado" por los recursos de la máquina virtual |
Uso de la memoria
MiB Mem : 1967.5 total, 1489.2 free, 238.3 used, 387.5 buff/cache
MiB Swap: 122.1 total, 122.1 free, 0.0 used. 1729.2 avail Mem
Estas líneas tienen el mismo significado que en el comando free
:
Tabla de procesos
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 103328 13332 9156 S 0.0 0.7 0:01.29 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
Esta es la parte importante del comando, ya que se muestra un listado completo de todos los procesos de nuestro sistema.
Vamos a ver que significa todos los apartados que se muestran:
Abreviatura | Descripción |
---|---|
PID | ID del proceso (Unique Positive Integer) |
USER | Nombre del usuario que ejecuta el proceso |
PR | Prioridad (del Kernel) |
NI | Valor Nice |
VIRT | Memoria Virtual |
RES | Tamaño residente (memoria física) |
SHR | Memoria compartida |
S | Estado del proceso (Running, Stopped, etc.) |
%CPU | Carga de CPU |
%MEM | Porcentage de RES / Total RAM |
TIME + | Tiempo total empleado en el proceso |
COMMAND | Comando que inició el proceso |
Estos campos son los que hay por defecto en el comando top. Es posible que si utilizas alguna otra distribución haya algún otra columna diferente.
Y esto es todo, ahora ya entendemos un poco más el comando más famoso de las distribuciones de GNU/Linux.
Comentarios