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:

💡
URL

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.

🚨
Estos campos se pueden personalizar tecleando la tecla F mientras se ejecuta el comando top.

Y esto es todo, ahora ya entendemos un poco más el comando más famoso de las distribuciones de GNU/Linux.


¿Buscas otro comando?

¡Revisa nuestro "Diccionario de comandos para GNU/Linux"!

Diccionario de comandos para GNU/Linux

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación