Comando top

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.


ÓRDENES INTERACTIVAS


       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.
Si quieres profundizar aun mas en este comando, podrás consultar el manual:

man top