comando "TOP" al descubierto: Analiza tu sistema como un Power User.


La salida que estás viendo en ese pantallazo corresponde al comando top, que muestra en tiempo real una lista de procesos y el uso de recursos del sistema en un formato de tabla. Vamos a desglosar cada una de las columnas para que veas cuánta información proporciona, en tan poco espacio:

Explicación detallada, paso por paso:

La sección superior de la salida del comando "top" proporciona una visión general del estado del sistema. Aquí tienes el desglose:

1. Encabezado del sistema:

top - 23:05:14 up 19 min, 1 user, load average: 0,66, 0,40, 0,16
  • top: El nombre del comando.
  • 23:05:14: La hora actual.
  • up 19 min: El tiempo que el sistema ha estado encendido (en este caso, 19 minutos).
  • 1 user: El número de usuarios actualmente conectados al sistema.
  • load average: 0,66, 0,40, 0,16: Los promedios de carga del sistema (la cantidad de procesos que esperan usar la CPU) durante los últimos 1, 5 y 15 minutos. Estos valores indican cuán ocupada está la CPU. Un valor de 1,0 representa que la CPU está completamente cargada (usando todos los núcleos disponibles).

2. Tareas (Tasks):

Tasks: 400 total, 2 running, 398 sleeping, 0 stopped, 0 zombie
  • 400 total: El número total de procesos (tareas) en el sistema.
  • 2 running: La cantidad de procesos que están actualmente ejecutándose.
  • 398 sleeping: El número de procesos que están en estado "durmiendo", esperando un evento (por ejemplo, entrada/salida o recursos).
  • 0 stopped: No hay procesos detenidos manualmente.
  • 0 zombie: No hay procesos zombis (procesos que han terminado pero cuyos padres no han recogido su estado).

3. Uso de la CPU:

%Cpu(s): 0,6 us, 1,0 sy, 0,0 ni, 98,0 id, 0,0 wa, 0,0 hi, 0,3 si, 0,0 st
  • 0,6 us (user): El 0,6% del tiempo de CPU está siendo usado por procesos de usuario (no del kernel).
  • 1,0 sy (system): El 1,0% del tiempo de CPU está siendo usado por el kernel en procesos del sistema.
  • 0,0 ni (nice): El 0,0% del tiempo de CPU está siendo usado por procesos con valor "nice" ajustado (prioridad baja o alta).
  • 98,0 id (idle): El 98,0% del tiempo de CPU está inactivo, sin hacer nada.
  • 0,0 wa (iowait): El 0,0% del tiempo de CPU está esperando operaciones de entrada/salida (disco, red, etc.).
  • 0,0 hi (hardware interrupts): No hay interrupciones de hardware.
  • 0,3 si (software interrupts): El 0,3% del tiempo está siendo usado por interrupciones de software.
  • 0,0 st (steal time): El 0,0% del tiempo de CPU está siendo "robado" por el hypervisor (en entornos virtualizados).

4. Uso de la memoria (RAM):

MiB Mem : 13818,4 total, 3805,2 free, 4028,7 used, 6378,7 buff/cache
  • 13818,4 total: La memoria RAM total disponible en el sistema (en MiB).
  • 3805,2 free: La memoria libre disponible actualmente.
  • 4028,7 used: La memoria que está actualmente en uso.
  • 6378,7 buff/cache: Memoria usada por el sistema para buffers y caché, que puede ser liberada si es necesario. Esto incluye el caché del disco y buffers de sistema.

5. Uso de la memoria de intercambio (Swap):

MiB Swap: 8192,0 total, 8192,0 free, 0,0 used. 9789,7 avail Mem
  • 8192,0 total: El tamaño total de la memoria swap en el sistema (8 GB en tu caso).
  • 8192,0 free: La cantidad de memoria swap libre disponible (en este caso, todo el espacio swap está libre).
  • 0,0 used: La cantidad de memoria swap utilizada (en este caso, ninguna).
  • 9789,7 avail Mem: La memoria total disponible para ser usada por procesos (esto incluye memoria física libre más caché que puede ser liberada).

Ejemplo;

  • Tu sistema tiene 13,8 GB de RAM, de los cuales hay 3,8 GB libres, 4 GB en uso por procesos y 6,3 GB usados por caché y buffers.
  • La CPU está mayormente inactiva, con un 98% de tiempo ocioso.
  • No estás usando memoria swap, lo cual es bueno, ya que el uso de swap puede afectar el rendimiento.

 En la sección inferior tenemos la siguiente información:

Descripción de cada campo:

  • PID (Process ID): El número único de identificación asignado a cada proceso en el sistema.

  • USER: El usuario que inició o es propietario del proceso. Por ejemplo, en tu caso, hay varios procesos ejecutados por el usuario t0ny.

  • PR (Priority): La prioridad del proceso. Un valor más bajo indica mayor prioridad. Los procesos con prioridad de tiempo real tendrán un valor RT.

  • NI (Nice value): El "valor nice" es una forma de ajustar la prioridad del proceso. Un valor más bajo le da más prioridad, y uno más alto menos. El rango va de -20 (más prioridad) a 19 (menos prioridad).

  • VIRT (Virtual Memory): La memoria virtual utilizada por el proceso, que incluye toda la memoria que el proceso ha reservado, ya sea que la esté utilizando o no. Esto incluye el uso de swap, memoria mapeada a archivos, bibliotecas compartidas, etc.

  • RES (Resident Memory): La memoria residente en RAM utilizada por el proceso. Es la parte del uso de memoria que está realmente almacenada en la RAM y no en el disco o swap.

  • SHR (Shared Memory): La memoria compartida utilizada por el proceso. Esta es la memoria que otros procesos pueden compartir, como bibliotecas comunes.

  • S (State): El estado actual del proceso. Los posibles valores son:

    • R: Ejecutándose (Running).
    • S: Durmiendo (Sleeping) - en espera de un evento o recurso.
    • D: Durmiendo ininterrumpidamente (Uninterruptible sleep) - esperando directamente acceso al disco.
    • Z: Zombie - el proceso ha terminado, pero aún no ha sido limpiado por su proceso padre.
    • T: Parado (Stopped) - el proceso ha sido detenido.
  • %CPU: El porcentaje de CPU que el proceso está utilizando en ese momento. Un valor alto significa que el proceso está consumiendo muchos recursos del CPU.

  • %MEM: El porcentaje de la memoria RAM total que el proceso está utilizando. Esto se basa en la memoria residente (RES), no en la memoria virtual.

  • TIME+: La cantidad de tiempo de CPU que el proceso ha utilizado desde que comenzó. Está en el formato hh:mm:ss.

  • COMMAND: El nombre del comando o programa que está ejecutando el proceso. Este es el proceso que inició el PID. Puede ser el nombre del binario o un alias que representa el proceso en ejecución.

Ejemplo;

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5991 t0ny 20 0 8918528 535384 172456 S 3,7 3,8 0:39.78 python
  • El proceso con PID 5991, perteneciente al usuario t0ny, tiene una prioridad de 20 y un valor nice de 0.
  • Está utilizando 8,9 GB de memoria virtual (VIRT), pero solo 535 MB están en la RAM (RES), y 172 MB de esos son compartidos (SHR).
  • Está en estado S (durmiendo).
  • Actualmente usa un 3,7% de la CPU y un 3,8% de la RAM total.
  • El comando que se está ejecutando es python y ha utilizado 39,78 segundos de tiempo de CPU desde que se inició.



Comentarios