El comando “top” proporciona una vista dinámica y en tiempo real del sistema en ejecución. Se utiliza para supervisar los procesos del sistema y el uso de recursos, como la CPU, la memoria y el uso de intercambio.
Sintaxis general del comando “top”:
$ top [OPCIONES]
Listar todos los procesos en ejecución
top
Usa el comando top
para mostrar las tareas en ejecución, la memoria, la CPU y el intercambio. Para cerrar la ventana, presiona la tecla Q
Ejemplo:
Al ejecutar el comando top
en una terminal sin ninguna opción, esto es lo que podrías obtener:
top - 16:02:36 up 10 days, 3:22, 3 users, load average: 0.09, 0.05, 0.01
Tasks: 210 total, 1 running, 209 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.0 us, 0.5 sy, 0.0 ni, 97.4 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 8103076 total, 2366408 free, 2591564 used, 3146104 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 5306444 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3455 alexis 20 0 2370988 319664 116784 S 1.3 3.9 0:22.39 firefox
3056 root 20 0 452504 48320 36016 S 0.7 0.6 2:51.19 systemd-jour+
4562 alexis 20 0 1558976 273296 113520 S 0.7 3.4 0:12.78 code
1 root 20 0 225280 9476 6416 S 0.0 0.1 0:03.81 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:+
- La primera línea proporciona un resumen del sistema: hora actual, tiempo de actividad, número de usuarios y promedio de carga.
- La segunda línea muestra el número total de tareas y sus estados: en ejecución, en suspensión, detenidas o zombi.
- La tercera línea muestra los detalles del uso de la CPU: procesos de usuario, procesos de sistema, procesos inactivos, etc.
- La cuarta y quinta líneas muestran el uso de la memoria: memoria total, libre, usada y búfer/caché.
- El resto de las líneas enumeran todos los procesos que se ejecutan en el sistema. Cada línea representa un proceso con detalles como PID, USUARIO, uso de CPU, uso de memoria y el comando utilizado para iniciar el proceso.
Mostrar procesos de un usuario específico
top -u [usuario]
La opción -u
te permite mostrar toda la información sobre los procesos en ejecución de un usuario específico.
Ejemplo:
Mostrar los procesos en ejecución del usuario root
.
top - 10:35:17 up 1 day, 2:14, 1 user, load average: 0.25, 0.18, 0.15
Tasks: 175 total, 1 running, 174 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.2 us, 1.8 sy, 0.0 ni, 92.8 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 15863.0 total, 13356.2 free, 1111.1 used, 2395.7 buff/cache
MiB Swap: 16384.0 total, 16384.0 free, 0.0 used. 14266.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 root 20 0 125.6g 12.1g 81.1m S 0.7 7.7 73:42.55 java
5678 root 20 0 10.1g 1012.8m 10.2m S 0.3 6.3 22:51.12 apache2
7890 root 20 0 5.2g 555.5m 10.2m S 0.1 3.4 8:33.42 mysql
10123 root 20 0 2.5g 252.6m 10.2m S 0.1 1.6 4:20.09 nginx
En este ejemplo, puedes ver que el comando top -u root
muestra solo los procesos propiedad del usuario root. La salida incluye información sobre cada proceso, como el ID de proceso (PID), prioridad (PR), valor de prioridad (NI), tamaño de memoria virtual (VIRT), tamaño de memoria residente (RES), tamaño de memoria compartida (SHR), uso de CPU (%CPU), uso de memoria (%MEM) y el comando utilizado para iniciar el proceso (COMMAND).
Activando el modo batch
top -b
El comando top -b
se utiliza para ejecutar top en modo batch. Esto es particularmente útil cuando deseas redirigir la salida de top
a un archivo u otro comando. En el modo batch, top
no aceptará entrada y se ejecutará hasta el límite de iteraciones que hayas definido o hasta que se cierre.
Ejemplo:
top -b -n 1 > top-salida.txt
En este ejemplo, -n 1
indica a top que se ejecute solo una vez, en lugar de actualizarse continuamente. Luego, la salida se redirige a top-salida.txt
.
Cuando abras el archivo top-salida.txt
, es posible que veas una salida similar a esta:
top - 18:25:01 up 10 days, 5:45, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 162 total, 1 running, 161 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 98.9 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 8167848 total, 1785084 free, 1583456 used, 4799308 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 6250480 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 225492 9484 6812 S 0.0 0.1 0:09.07 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.55 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 20 0 0 0 0 S 0.0 0.0 0:07.28 rcu_sched
Comenzar desde el mismo estado
top -c
top -c
muestra los procesos activos en la actualidad, junto con información adicional, incluyendo la línea de comando completa utilizada para iniciar cada proceso. Esto puede ser útil para ver exactamente qué parámetros se pasaron a un proceso.
Ejemplo:
A continuación, te mostramos un ejemplo de la salida del comando top -c
:
top - 11:23:42 up 15 days, 18:27, 1 user, load average: 0.08, 0.18, 0.26
Tasks: 314 total, 1 running, 313 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id
MiB Mem : 15957.5 total, 8040.1 free, 5293.0 used, 2624.4 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 10074.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 168772 8692 6316 S 0.3 0.1 1:33.03 /sbin/init splash
123 root 20 0 1226072 110304 72528 S 0.3 0.7 3:14.27 /usr/bin/dockerd -H fd://
456 alex 20 0 793648 86508 69292 S 0.3 0.5 0:25.69 /opt/sublime_text/sublime_text
789 alex 20 0 3845092 216692 107920 S 0.3 1.3 5:01.45 /opt/pycharm/bin/pycharm.sh
1011 root 20 0 574036 23616 19424 S 0.0 0.1 0:03.15 /usr/sbin/rsyslogd -n
1296 root 20 0 559252 20996 16044 S 0.0 0.1 0:07.26 /usr/lib/snapd/snapd
1441 root 20 0 435824 20824 13636 S 0.0 0.1 0:16.74 /lib/systemd/systemd-logind
1568 alex 20 0 824944 114928 84528 S 0.0 0.7 0:44.22 /usr/bin/gnome-shell
1895 root 20 0 52344 4572 3860 S 0.0 0.0 0:00.01 /usr/sbin/cron -f
Las primeras líneas proporcionan un resumen del sistema, incluida la hora actual, cuánto tiempo ha estado funcionando el sistema, el número de usuarios, el promedio de carga y el uso de la memoria.
Cada línea después de eso representa un solo proceso, con varios datos sobre cada proceso. Esto incluye el ID del proceso (PID), el usuario propietario del proceso, los valores de prioridad (PR) y agradables (NI), el uso de memoria (VIRT, RES, SHR), el estado actual (S), el uso de la CPU (% CPU), el uso de la memoria (% MEM), el tiempo que el proceso se ha estado ejecutando (TIME +) y la línea de comando completa (COMMAND).
La opción -c
muestra la línea de comando completa utilizada para iniciar cada proceso. Por ejemplo, para PID 1, el comando es /sbin/init splash
. Para PID 123, el comando es /usr/bin/dockerd -H fd://
. Esto puede ser útil para ver exactamente qué parámetros se pasaron a un proceso.
Habilitar modo seguro
top -s
La opción -s
se utiliza para la operación en modo seguro. En modo seguro, se deshabilitan algunos comandos interactivos potencialmente dañinos. Esto es particularmente útil cuando top
es ejecutado por administradores del sistema en un entorno donde desean limitar lo que los usuarios pueden hacer.
Ejemplo:
Aquí tienes un ejemplo de cómo puedes usar la opción -s
en este contexto:
top -s 5
Este comando iniciará top
y actualizará la pantalla cada 0,5 segundos.
Establecer el tiempo de retraso de las actualizaciones de la pantalla
top -d [segundos]
La opción -d
se utiliza para especificar el tiempo de retraso entre las actualizaciones de la pantalla o, en otras palabras, la tasa de actualización. Por defecto, top se actualiza cada 3,0 segundos, pero con la opción -d
, puedes establecer esto a cualquier intervalo deseado.
Ejemplo:
Especificando el número 20 después de la opción -d para actualizar la salida cada 20 segundos.
top -d 20
Establecer el número de iteraciones
top -n [número]
top -n
actualiza la pantalla del comando top n
veces y luego sale. Esto puede ser útil si deseas realizar una instantánea rápida del sistema a intervalos regulares.
Más comandos de Linux:
Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
Operaciones de Sistema de Archivos | chown · mkfs · locate |
Redes | ping · curl · wget · iptables · mtr |
Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
Gestión de Usuarios y Sesiones | screen · su · sudo · open |
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.