Inicio > Gestión de paquetes y sistema > top

Guía del comando top: Monitoreo en tiempo real de procesos del sistema

El comando `top` (tabla de procesos) es una herramienta utilizada en sistemas operativos Linux y Unix para monitorear la actividad de los procesos del sistema en tiempo real. Proporciona una visión dinámica del estado actual del sistema, incluyendo el uso de CPU, el uso de memoria y la lista de procesos en ejecución, lo que es esencial para diagnosticar problemas de rendimiento y comprender el uso de recursos del sistema. A través de esta guía, aprenderás los conceptos básicos del uso del comando `top` y sus funciones interactivas.

Resumen de top

`top` actualiza y muestra periódicamente la utilización de recursos del sistema (CPU, memoria, swap) y los detalles de cada proceso. Esto permite identificar fácilmente qué procesos están utilizando muchos recursos del sistema y monitorear la salud general del sistema.

Funciones principales de top

`top` se utiliza principalmente con los siguientes propósitos:

Principales áreas de aplicación

  • {'key': 'Monitoreo del sistema', 'value': 'Verifica en tiempo real el uso de CPU, memoria y espacio de swap.'}
  • {'key': 'Gestión de procesos', 'value': 'Identifica el estado de los procesos en ejecución y, si es necesario, los termina o ajusta su prioridad.'}
  • {'key': 'Diagnóstico de problemas de rendimiento', 'value': 'Analiza las causas de la disminución de la velocidad del sistema o la falta de respuesta.'}
  • {'key': 'Optimización del uso de recursos', 'value': 'Identifica y toma medidas sobre los procesos que utilizan excesivos recursos.'}

Composición de la pantalla de salida de top

`top` muestra la información en dos partes principales:

Información de resumen superior

Muestra un resumen del estado general del sistema.

  • `uptime`: Tiempo transcurrido desde que el sistema fue iniciado
  • `load average`: Carga promedio del sistema durante los últimos 1, 5 y 15 minutos (número de procesos en cola de ejecución)
  • `Tasks`: Número total de procesos, en ejecución, en espera, detenidos y en estado zombie
  • `%Cpu(s)`: Uso de CPU (us: usuario, sy: sistema, ni: nice, id: inactivo, wa: espera de I/O, etc.)
  • `MiB Mem`: Total de memoria física (RAM), cantidad utilizada, espacio libre, uso de buffer/caché
  • `MiB Swap`: Total de memoria swap, cantidad utilizada, espacio libre

Lista de procesos inferior

Muestra los detalles de cada proceso en ejecución. Esta lista está ordenada por defecto según el uso de CPU (%).

  • `PID`: ID del proceso
  • `USER`: Usuario que ejecutó el proceso
  • `PR`: Prioridad (Priority)
  • `NI`: Valor Nice (utilizado para ajustar la prioridad)
  • `VIRT`: Total de memoria virtual utilizada por el proceso
  • `RES`: Cantidad de memoria física (RAM) utilizada por el proceso (Resident Memory)
  • `SHR`: Cantidad de memoria compartida utilizada por el proceso (Shared Memory)
  • `S`: Estado del proceso (R: en ejecución, S: dormido, Z: zombie, T: detenido, etc.)
  • `%CPU`: Uso de CPU del proceso (tiempo real)
  • `%MEM`: Uso de memoria del proceso (tiempo real)
  • `TIME+`: Tiempo total de CPU utilizado por el proceso
  • `COMMAND`: Comando de ejecución del proceso

`top` vs `htop`

`htop` es una versión mejorada de `top`, que ofrece una interfaz más amigable (colores, soporte para mouse) y funcionalidades (desplazamiento, búsqueda, salida directa). En la mayoría de los casos, `htop` es más conveniente. Si `htop` no está instalado, se puede instalar a través del gestor de paquetes (por ejemplo, `sudo apt install htop`).

Opciones e interacción del comando top

`top` permite especificar opciones de línea de comandos al inicio y realizar diversas entradas de teclas durante la ejecución para modificar la forma en que se muestra la pantalla, ordenar procesos, salir, entre otras funciones.

1. Opciones de inicio en la línea de comandos

2. Teclas de interacción durante la ejecución de top

Comando generado:

Combina los comandos.

Descripción:

`top` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Aprende a monitorear el uso de recursos del sistema en tiempo real y diagnosticar problemas a través de varios ejemplos de uso del comando `top`.

Iniciar monitoreo básico del sistema

top

Ejecuta el comando `top` de la manera más básica, mostrando el estado actual del sistema y la lista de procesos actualizada cada 3 segundos.

Ver los 5 procesos con mayor uso de CPU (intervalo de 1 segundo)

top -d 1 -n 5

Ejecuta `top` y se actualiza solo 5 veces cada 1 segundo antes de cerrarse. Esto es útil para identificar rápidamente la causa de la carga de CPU en un momento específico.

Monitorear solo los procesos de un usuario específico (root)

top -u root

Filtra y muestra solo los procesos ejecutados por todos los usuarios `root` del sistema. Esto es útil para rastrear el uso de recursos de servicios o demonios del sistema.

Monitorear solo un ID de proceso específico (PID)

top -p 12345

Monitorea en tiempo real solo la información sobre el proceso con el PID `12345`. Esto es útil para rastrear el consumo de recursos de una aplicación específica con precisión.

Ordenar por uso de memoria (interacción durante la ejecución)

top # then press Shift + m

Mientras `top` está en ejecución, presiona `Shift + m` para ordenar la lista de procesos por uso de memoria. (no se puede especificar directamente en la línea de comandos)

Terminar un proceso específico (interacción durante la ejecución)

top # then press 'k', enter PID, then optionally '9' for SIGKILL

Mientras `top` está en ejecución, presiona la tecla `k` y aparecerá un aviso pidiendo el PID del proceso a terminar. Al ingresar el PID y presionar `Enter`, se envía por defecto la señal SIGTERM. Para terminarlo forzosamente, ingresa el número de señal 9.


Comandos de la misma categoría