NOMBRE
top - muestra los procesos que más CPU consumen
DESCRIPCIÓN
top proporciona una visión continuada de la actividad del procesador en
tiempo real. Muestra un listado de las tareas que hacen un uso más
intensivo de la CPU en el sistema, y puede proporcionar una interfaz
interactiva para manipular procesos.
Unas de las herramientas con las que podremos observar que procesos se encuentran corriendo en nuestro sistema, para saber cuales son los que más consumen y/o si alguno de ellos se encuentra en modo zombie, es top, que viene por defecto instalado en la mayoría de las distribuciones Linux.
Si observamos que algún proceso nos ralentiza el equipo o se en encuentra en estado zombie, podremos matar el proceso desde el mismo comando
Si no le indicamos nada, el comando refrescará los datos cada 3 segundos. Pero podremos cambiar el intervalo de refresco con la opción d y indicando el intervalo en segundos. En el siguente ejemplo cambiaremos el refresco a 5 segundos
top -d 5
¿Qué información podemos obtener con la utilización del comando top?
top - 18:40:25 up 31 min, 2 users, load average: 0.00, 0.00, 0.01
Tasks: 98 total, 1 running, 95 sleeping, 2 stopped, 0 zombie %Cpu(s): 6.2 us, 0.0 sy, 0.0 ni, 93.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 976.9 total, 157.1 free, 160.3 used, 659.5 buff/cache MiB Swap: 1740.0 total, 1739.2 free, 0.8 used. 669.3 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 168716 12664 8200 S 0.0 1.3 0:04.14 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 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par+ 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker+ 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_perc+ 10 root 20 0 0 0 0 S 0.0 0.0 0:00.29 ksoftir+ 11 root 20 0 0 0 0 I 0.0 0.0 0:00.61 rcu_sch+ 12 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migrati+ 13 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_in+ 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0 15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmp+ 16 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns 17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tas+ 18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd 19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungta+ 20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_rea+
En la primera, veremos
- Hora y tiempo actual
- Up Minutos que lleva el sistema en marcha
- Cantidad de usuarios que han iniciado sesión en el sistema
- load average es la carga promedio del equipo.
2- Tasks: 98 total, 1 running, 95 sleeping, 2 stopped, 0 zombie
Vemos la cantidad de tareas totales o procesos y en que estado están:
- Running procesos ejecutándose actualmente o preparados para ejecutarse.
- Sleeping procesos dormidos esperando que pase algo (depende del proceso) ejecutarse.
- Stopped proceso detenido.
- Zombie el proceso no está corriendo y quedan en este estado cuando el proceso que los inició murió o fue matado con el comando kill.
3- %Cpu(s): 6.2 us, 0.0 sy, 0.0 ni, 93.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
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 núcleo (kernel).
- ni (nice): tiempo de CPU del usuario que tienen un “nice” positivo
- id (inactivo): tiempo de CPU en procesos inactivos (idle).
- 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.
- st (steal time): sólo aplica cuando la distribución corre en una máquina virtual. Es el tiempo que algún proceso de nuestro sistema estaba esperando en la cola de ejecución, pero el hypervisor eligió no darnos tiempo de procesador, y asignarlo a otro procesador virtual.
4- MiB Mem : 976.9 total, 157.1 free, 160.3 used, 659.5 buff/cacheLínea
Hace referencia al uso de la memoria física del equipo.
- Memoria total.
- Memoria utilizada.
- Memoria libre.
- Memoria utilizada por buffer.
5- MiB Swap: 1740.0 total, 1739.2 free, 0.8 used. 669.3 avail Mem
- Utilización de la memoria virtual
- Memoria total.
- Memoria libre.
- Memoria en caché.
6-PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
En la línea número 6 se muestra el detalle de los procesos en general teniendo en cuenta lo siguiente:
- PID: Es el identificador de proceso.
- USER: Usuario propietario del proceso.
- PR: Prioridad del proceso. Si aparece un RT significa que corre 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 ese proceso.
- SHR: Memoria compartida.
- S: 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+: Tiempo total de CPU que ha usado el proceso desde su inicio.
- COMMAND: Comando utilizado para iniciar el proceso.
Mientras top está ejecutándose se reconocen algunas órdenes de una sola
tecla. Algunas están deshabilitadas si la opción s se ha dado en la
línea de órdenes.
- M –> Ordenar por uso de memoria
- P –> Ordenar por uso de CPU
- T –> Ordenar por tiempo de CPU utilizado
- F –> seleccionar campo por el cual ordenar la lista de procesos
- Barra espaciadora –> Actualiza la pantalla inmediatamente.
- L –> Borra y redibuja la pantalla.
- h o ? –> Despliega una pantalla de ayuda
- k –> Mata un proceso. Se le preguntará el PID de la tarea. kill
- i –> Descarta los procesos inactivos y zombies.
- q –> Abandonar.
man top