Monitoreo en tiempo real de procesos
Si bien el comando ps proporciona una instantánea de los procesos en un momento determinado, a veces es necesario monitorear los procesos de forma continua. En este paso, exploraremos herramientas para el monitoreo en tiempo real de procesos.
Uso del comando top
El comando top proporciona una vista dinámica en tiempo real del sistema en ejecución. Muestra información resumida del sistema, así como una lista de procesos o hilos actualmente gestionados por el núcleo de Linux.
Ejecuta el siguiente comando:
top
Verás algo como esto:
top - 17:15:23 up 30 min, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 31 total, 1 running, 30 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1975.1 total, 1558.7 free, 180.4 used, 236.1 buff/cache
MiB Swap: 975.0 total, 975.0 free, 0.0 used. 1651.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8988 3208 2556 S 0.0 0.2 0:00.07 init.sh
22 root 20 0 39528 8596 6088 S 0.0 0.4 0:00.20 supervisord
23 root 20 0 12128 6788 5864 S 0.0 0.3 0:00.00 sshd
...
La salida se divide en dos partes:
- Resumen del sistema (5 líneas superiores)
- Lista de procesos (ordenada por uso de CPU por defecto)
Para salir de top, presiona la tecla q.
Comprensión de la salida de top
El resumen del sistema proporciona:
- Tiempo de actividad y promedios de carga
- Recuento de tareas por estado (en ejecución, en espera, detenidas, zombies)
- Desglose del uso de CPU
- Uso de memoria y espacio de intercambio (swap)
La lista de procesos muestra:
- PID: Identificador de proceso
- USER: Usuario propietario
- PR: Prioridad
- NI: Valor nice
- VIRT: Memoria virtual utilizada
- RES: Memoria residente utilizada
- SHR: Memoria compartida
- S: Estado del proceso
- %CPU: Uso de CPU
- %MEM: Uso de memoria
- TIME+: Tiempo de CPU utilizado
- COMMAND: Nombre del comando
Comandos interactivos en top
Mientras top está en ejecución, puedes usar varios comandos de teclado para interactuar con él:
- Presiona
M para ordenar por uso de memoria
- Presiona
P para ordenar por uso de CPU
- Presiona
k seguido de un PID para terminar un proceso
- Presiona
h para obtener ayuda
Intenta presionar M mientras se ejecuta top para ver los procesos ordenados por uso de memoria.
Uso del comando watch con ps
Otro enfoque para el monitoreo en tiempo real es usar el comando watch con ps. Esto ejecuta un comando periódicamente y muestra la salida, lo que te permite ver los cambios a lo largo del tiempo.
watch -n 1 'ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 6'
Esto se actualiza cada 1 segundo y muestra los 5 procesos que consumen más CPU.
Para salir de watch, presiona Ctrl+C.
La combinación de ps con utilidades como watch te brinda capacidades poderosas para monitorear los procesos de tu sistema en tiempo real.