Funcionamiento del Comando top
Ejecutar el comando
Abrimos una consola/terminal y simplemente ejecutamos el comando:
Thank you for reading this post, don't forget to subscribe!
$top
Nos va a aparecer una interfaz en modo texto que se va a ir actualizando cada 3 segundos. Muestra un resumen del estado de nuestro sistema y la lista de procesos que se están ejecutando. La salida debería asemejarse a:
top - 20:09:00 up 16 min, 3 users, load average: 1.93, 1.79, 1.10 Tasks: 44 total, 2 running, 41 sleeping, 1 stopped, 0 zombie %Cpu(s): 15.6 us, 0.4 sy, 0.0 ni, 84.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 2773.8 total, 1671.4 free, 440.4 used, 662.1 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 2333.4 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1088 mxxxxx 20 0 777364 304592 69988 R 99.3 10.7 11:11.94 emacs 462 mxxxxxx 20 0 46788 30020 19584 S 21.5 1.1 1:18.86 ld-linux-armhf. 440 mxxxxxx 20 0 26288 11700 9540 S 4.0 0.4 0:29.29 ld-linux-armhf. 441 mxxxxxx 20 0 25976 11708 9548 S 0.7 0.4 0:03.99 ld-linux-armhf. 1222 mxxxxx 20 0 9848 3352 2848 R 0.3 0.1 0:00.05 top 1 root 20 0 166328 9896 7388 S 0.0 0.3 0:01.11 systemd 62 root 20 0 51100 16156 15092 S 0.0 0.6 0:00.73 systemd-journal 74 root 20 0 20548 4972 3448 S 0.0 0.2 0:00.10 systemd-udevd 102 avahi 20 0 8064 3208 2856 S 0.0 0.1 0:00.45 avahi-daemon 103 root 20 0 6692 2472 2276 S 0.0 0.1 0:00.02 cron 104 message+ 20 0 9080 4372 3664 S 0.0 0.2 0:00.64 dbus-daemon 105 root 20 0 99336 5556 4260 S 0.0 0.2 0:00.02 dhclient 112 root 20 0 14668 6556 5800 S 0.0 0.2 0:00.24 systemd-logind 117 avahi 20 0 7872 352 0 S 0.0 0.0 0:00.00 avahi-daemon 124 didiwiki 20 0 1964 452 392 S 0.0 0.0 0:00.00 didiwiki 158 mpd 20 0 295076 42088 34320 S 0.0 1.5 0:00.96 mpd 164 vnstat 20 0 4624 3184 2644 S 0.0 0.1 0:00.36 vnstatd 166 root 20 0 5104 1876 1768 S 0.0 0.1 0:00.00 agetty 169 root 20 0 13632 6684 5840 S 0.0 0.2 0:00.01 sshd 186 mxxxxx 20 0 16452 8852 7100 S 0.0 0.3 0:00.31 systemd 192 mxxxxx 20 0 170620 4588 1796 S 0.0 0.2 0:00.00 (sd-pam) 442 mxxxxx 20 0 6956 1716 1384 S 0.0 0.1 0:00.07 ld-linux-armhf. 443 mxxxxx 20 0 6956 1604 1268 S 0.0 0.1 0:00.06 ld-linux-armhf. 458 rtkit 21 1 153452 2644 2396 S 0.0 0.1 0:00.15 rtkit-daemon 461 root 20 0 235528 7356 6132 S 0.0 0.3 0:00.43 polkitd
Detalles del resultado del comando:
Tiempo de actividad y carga media del sistema
top - 20:09:00 up 16 min, 3 users, load average: 1.93, 1.79, 1.10
En la primera línea nos muestra:
- Hora actual.
- Tiempo que ha estado el sistema encendido “up”.
- Número de usuarios (mxxxxx y root).
- Carga media en intervalos de 5, 10 y 15 minutos respectivamente. 1.93, .79 y 1.10
Tareas (tasks)
Tareas: 44 total, 2 ejecutar, 41 hibernar, 1 detener, 0 zombie
La segunda línea muestra el total de tareas y procesos, los cuales pueden estar en diferentes estados.
- Running (ejecutar): procesos ejecutándose actualmente o preparados para ejecutarse.
- Sleeping (hibernar): procesos dormidos esperando que ocurra algo (depende del proceso) para ejecutarse.
- Stopped (detener): ejecución de proceso detenida.
- Zombie: el proceso no está siendo ejecutado. Estos procesos se quedan en este estado cuando el proceso que los ha iniciado muere (padre).
Estados de la CPU
%Cpu(s): 15,6 usuario, 0,4 sist, 0,0 adecuado, 84,0 inact, 0,0 en espera, 0,0 hardw int, 0,0 softw int, 0,0 robar tiempo
Esta línea nos muestra los porcentajes de uso del procesador diferenciado por el uso que se le de.
- us (usuario): tiempo de CPU de usuario.
- sy (sistema): tiempo de CPU del kernel.
- id (inactivo): tiempo de CPU en procesos inactivos.
- wa (en espera): tiempo de CPU en procesos en espera.
- hi (interrupciones de hardware): interrupciones de hardware.
- si (interrupciones de software): tiempo de CPU en interrupciones de software.
Memoria física
MiB Mem: 2773.8 total, 1671.4 free, 440.4 used, 662.1 buff/cache
- Memoria total.
- Memoria libre.
- Memoria utilizada.
- Memoria utilizada por buffer.
Memoria virtual
KiB Swap: 0.0 total, 0.0 free, 0.0 used. 2333.4 avail Mem
- Memoria total.
- Memoria libre.
- Memoria usada.
- Memoria en caché.
Columnas
Lectura de las diferentes columnas que nos encontramos al ejecutar el comando.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- PID: es el identificador de proceso. Cada proceso tiene un identificador único.
- USER (USUARIO): usuario propietario del proceso.
- PR: prioridad del proceso. Si pone RT es que se está ejecutando en tiempo real.
- NI: asigna la prioridad. Si tiene un valor bajo (hasta -20) quiere decir que tiene más prioridad que otro con valor alto (hasta 19).
- VIRT: cantidad de memoria virtual utilizada por el proceso.
- RES: cantidad de memoria RAM física que utiliza el proceso.
- SHR: memoria compartida.
- S (ESTADO): estado del proceso.
- %CPU: porcentaje de CPU utilizado desde la última actualización.
- %MEM: porcentaje de memoria física utilizada por el proceso desde la última actualización.
- TIME+ (HORA+): tiempo total de CPU que ha usado el proceso desde su inicio.
- COMMAND: comando utilizado para iniciar el proceso.
Todas las opciones disponibles en su página man
$ man top