En este artículo vamos a ver como funciona el comando TOP en Linux.
Este comando nos ayuda a comprender los procesos de ejecución del sistema (entre otras cosas) en tiempo casi real y se encuentra dentro de las utilidades más destacables para un gestor. ¡Vamos a descubrir como trabaja TOP!
Comando TOP en Linux
A partir de aquí encontrarás la explicación del comando, formas de uso, sintaxis correcta, etc.
Ejecución del comando
Abrimos una consola y sencillamente ejecutamos el comando:
top
Veremos una interfaz de trabajo en modo texto que se va a ir refrescando cada 3 segundos. Esta interfaz nos muestra un resumen del estado de nuestro sistema y la lista de procesos que estan funcionando. La salida (output) que obtengo en mi servidor es la siguiente:
top - 15:18:52 up 6 days, 19:20, 1 user, load average: 0.00, 0.03, 0.05 Tasks: 135 total, 1 running, 133 sleeping, 1 stopped, 0 zombie %Cpu(s): 0.1 us, 0.4 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.2 si, 0.7 st KiB Mem : 8008868 total, 5865980 free, 1114700 used, 1028188 buff/cache KiB Swap: 0 total, 0 free, 0 used. 5956412 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9 root 20 0 0 0 0 S 0.3 0.0 54:09.42 rcu_sched 3749 root 20 0 162252 6760 5092 S 0.3 0.1 0:00.34 sshd 3794 root 20 0 113180 1576 1320 S 0.3 0.0 0:00.19 bash 4118 root 20 0 62816 16808 2736 S 0.3 0.2 3:10.58 tailwatchd 4248 root 20 0 160100 2228 1556 R 0.3 0.0 0:00.02 top 14217 root 20 0 587276 37856 29112 S 0.3 0.5 0:52.72 php-fpm 18905 mysql 20 0 1638776 179132 9116 S 0.3 2.2 50:59.11 mysqld 1 root 20 0 191144 4108 2604 S 0.0 0.1 5:44.43 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.23 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:18.12 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:04.05 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain 11 root rt 0 0 0 0 S 0.0 0.0 0:01.77 watchdog/0 12 root rt 0 0 0 0 S 0.0 0.0 0:01.45 watchdog/1 13 root rt 0 0 0 0 S 0.0 0.0 0:03.78 migration/1 14 root 20 0 0 0 0 S 0.0 0.0 0:20.37 ksoftirqd/1 16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H 17 root rt 0 0 0 0 S 0.0 0.0 0:01.95 watchdog/2 18 root rt 0 0 0 0 S 0.0 0.0 0:02.82 migration/2 19 root 20 0 0 0 0 S 0.0 0.0 0:14.93 ksoftirqd/2 21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/2:0H 22 root rt 0 0 0 0 S 0.0 0.0 0:01.42 watchdog/3 23 root rt 0 0 0 0 S 0.0 0.0 0:06.48 migration/3
Análisis
Es de vital importancia comprender la salida del comando.
1. Tiempo de funcionamiento y media de carga del sistema
En la primera línea nos muestra:
- Hora de hoy.
- El tiempo que ha estado el sistema encendido.
- Número de individuos haciendo uso (root).
- Además de mostrar el promedio de carga media en minutos.
2. Tareas
Tasks: 145 total, 1 running, 142 sleeping, 1 stopped, 1 zombie
La segunda línea nos muestra el total de tareas y procesos, los cuales tienen la posibilidad de estar en diferentes estados. Yo lo tengo en inglés pero perfectamente tu lo podrías tener en español:
- Running: Son los procesos que están funcionando en estos instantes o que se encuentran preparados para ejecutarse.
- Sleeping: Son los procesos dormidos aguardando que ocurra algo para ejecutarse.
- Stopped: Son los procesos los cuales su ejecución ha sido detenida.
- Zombie: Cuándo el proceso no esta en funcionamiento. Estos procesos se quedan en este estado cuando el desarrollo que los comenzó muere (padre).
3. Estados de la CPU
%Cpu(s): 0.1 us, 0.2 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.2 si, 0.3 st
- us: tiempo de CPU de usuario.
- sy: tiempo de de CPU del kernel.
- id: tiempo de CPU en procesos inactivos.
- wa: tiempo de espera para los procesos de la CP.
- hi: interrupciones de hardware.
- si: tiempo de CPU empleado en interrupciones a nivel de software.
4. Memoria física
KiB Mem : 8008868 total, 5880240 free, 1097232 used, 1031396 buff/cache
- Memoria total.
- Memoria usada.
- Memoria libre.
- Memoria usada por buffer.
5. Memoria virtual
KiB Mem : 8008868 total, 5865364 free, 1112092 used, 1031412 buff/cache
- Memoria total.
- Memoria utilizada.
- Memoria libre.
- Memoria en archivos temporales.
6. Columnas
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9 root 20 0 0 0 0 S 0.3 0.0 54:09.42 rcu_sched 3749 root 20 0 162252 6760 5092 S 0.3 0.1 0:00.34 sshd 3794 root 20 0 113180 1576 1320 S 0.3 0.0 0:00.19 bash 4118 root 20 0 62816 16808 2736 S 0.3 0.2 3:10.58 tailwatchd 4248 root 20 0 160100 2228 1556 R 0.3 0.0 0:00.02 top 14217 root 20 0 587276 37856 29112 S 0.3 0.5 0:52.72 php-fpm 18905 mysql 20 0 1638776 179132 9116 S 0.3 2.2 50:59.11 mysqld 1 root 20 0 191144 4108 2604 S 0.0 0.1 5:44.43 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.23 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:18.12 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:04.05 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain 11 root rt 0 0 0 0 S 0.0 0.0 0:01.77 watchdog/0 12 root rt 0 0 0 0 S 0.0 0.0 0:01.45 watchdog/1 13 root rt 0 0 0 0 S 0.0 0.0 0:03.78 migration/1 14 root 20 0 0 0 0 S 0.0 0.0 0:20.37 ksoftirqd/1 16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H 17 root rt 0 0 0 0 S 0.0 0.0 0:01.95 watchdog/2 18 root rt 0 0 0 0 S 0.0 0.0 0:02.82 migration/2 19 root 20 0 0 0 0 S 0.0 0.0 0:14.93 ksoftirqd/2 21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/2:0H 22 root rt 0 0 0 0 S 0.0 0.0 0:01.42 watchdog/3 23 root rt 0 0 0 0 S 0.0 0.0 0:06.48 migration/3
- PID: es el identificador de desarrollo. Cada desarrollo tiene un identificador exclusivo.
- USER (USUARIO): usuario dueño del desarrollo.
- PR: prioridad del desarrollo. Si pone RT es que se está corriendo en el mismo instante.
- NI: asigna la prioridad. Si tiene un valor bajo (hasta -20) significa que tiene más prioridad que otro con valor prominente (hasta 19).
- VIRT: proporción de memoria virtual usada por el desarrollo.
- RES: proporción de memoria RAM física que usa el desarrollo.
- SHR: memoria compartida.
- S (ESTADO): estado del desarrollo.
- %CPU: porcentaje de CPU central de procesamiento usado desde la más reciente renovación.
- %MEM: porcentaje de memoria física usada por el desarrollo desde la más reciente renovación.
- TIME+ (HORA+): tiempo total de CPU de procesamiento que ha utilizado el desarrollo desde su inicio.
- COMMAND: comando usado para comenzar el desarrollo.
Comando TOP Linux
¿Este artículo acerca del comando TOP en Linux te ha sido de utilidad? En ese caso una valoración o un comentario vendría muy pero que muy bien.