Monitorización de carga en Linux con atop

Qué es atop
atop es una herramienta de línea de comandos diseñada para monitorizar el rendimiento de un sistema Linux desde la perspectiva de recursos. Muestra el estado de CPU, memoria, disco y red y asocia el consumo a procesos concretos. Útil para detectar procesos que consumen recursos y para hacer un muestreo continuo del sistema.
Definición rápida: herramienta interactiva de monitorización del rendimiento que registra y muestra uso de recursos por sistema y por proceso.
Nota importante: la información por proceso para disco y red depende de la contabilidad de almacenamiento del kernel (storage accounting) o de parches específicos (p. ej. parche “cnt”). Si esos mecanismos no están activos, atop puede no mostrar carga de disco y red por proceso.
Compatibilidad y requisitos
- Distribuciones basadas en Debian/Ubuntu/Mint: atop está disponible en los repositorios oficiales. Requiere permisos de root para mostrar información completa.
- Otras distribuciones: usar el gestor de paquetes nativo (yum, dnf, pacman, zypper) o compilar desde la web oficial.
- Kernel: para ver I/O y tráfico por proceso, puede necesitar contabilidad del kernel o parches adicionales.
Descarga e instalación
En Debian/Ubuntu y derivados, instala con:
sudo apt-get install atop
En Red Hat/CentOS usa yum/dnf:
sudo yum install atop
O descarga los binarios y el código desde el sitio oficial si tu distribución no incluye paquetes.
Ejecución básica
Lanza atop en la terminal con permisos de administrador:
sudo atop
La pantalla de atop se divide en dos capas principales: información a nivel de sistema y detalles por proceso. La información del sistema aparece en las primeras líneas; debajo se listan procesos que han cambiado su uso de recursos en el último intervalo (intervalo por defecto: 10 segundos).
Desglose de la salida a nivel de sistema
A continuación describimos las líneas más relevantes que atop muestra normalmente:
PRC: tiempos totales de CPU en modo sistema (‘sys’) y usuario (‘user’), número de procesos (‘#proc’), threads en estado ‘running’ (‘#trun’), en ‘sleeping interruptible’ (‘#tslpi’) y ‘sleeping un-interruptible’ (‘#tslpu’), procesos zombie (‘#zombie’), llamadas clone y procesos finalizados en el intervalo (‘#exit’).
CPU: porcentaje de tiempo CPU en kernel (‘sys’), en usuario (‘user’), para manejo de interrupciones (‘irq’ y softirq), tiempo inactivo sin espera de disco (‘idle’) y tiempo inactivo con procesos esperando I/O de disco (‘wait’). En sistemas multiprocesador se muestra una línea por CPU física.
CPL: información de ‘carga’ — número de hilos listos para ejecutarse o esperando I/O, cambios de contexto (‘csw’), interrupciones atendidas (‘intr’) y número de CPUs disponibles.
MEM: memoria física total (‘tot’), libre (‘free’), usada por page cache (‘cache’), memoria sucia pendiente de volcar a disco (‘dirty’), buffers de sistema de archivos (‘buff’) y memoria del kernel (‘slab’).
SWP: swap total (‘tot’), swap libre (‘free’), memoria virtual comprometida (‘vmcom’) y límite máximo comprometido (‘vmlim’).
DSK: uso de discos — porcentaje de tiempo ocupado (‘busy’), número de lecturas/escrituras, KiB por lectura/escritura (‘KiB/r’, ‘KiB/w’), MiB/s en lectura/escritura (‘MBr/s’, ‘MBw/s’), profundidad media de cola (‘avq’) y latencia media por petición (‘avio’).
NET: actividad de red por capa (transporte IP/TCP/UDP), por IP y por interfaz activa.
Estos campos facilitan identificar qué subsistema está bajo presión antes de profundizar por proceso.
Salida a nivel de proceso
Debajo de las líneas de sistema, atop muestra procesos responsables de cambios en consumo durante el intervalo. Muestra PID, usuario, uso de CPU y memoria, I/O de disco y red (si está disponible), y la línea de comando.
Atop aplica colores (por ejemplo rojo, cian) para indicar criticidad en el consumo de recursos. Si una métrica supera umbrales críticos, la línea completa puede aparecer en rojo.
Comandos interactivos y guía rápida (cheat sheet)
Atop permite controlar qué muestra con teclas. Aquí tienes un resumen práctico:
- m — mostrar columnas relacionadas con memoria.
- d — mostrar columnas relacionadas con disco (I/O por proceso si está disponible).
- n — mostrar información de red por proceso.
- v — alterna varias características de proceso (p. ej. uso de CPU por hilo, prioridades).
- c — mostrar la línea de comando completa del proceso.
- t — alternar visualización de tiempos acumulados.
- r — ordenar por uso de memoria residente.
- P — ordenar por uso de CPU.
- q — salir de atop.
Ejemplo: para ver procesos con más I/O de disco, pulsa d y luego ordena por columna de escritura/lectura.
Código de ejemplo para ejecutar atop y grabar una sesión cada 60 segundos durante 1 hora (registro a archivo):
sudo atop -w /var/log/atop.log 60 60
Para reproducir un archivo de registro y navegar en modo interactivo:
sudo atop -r /var/log/atop.log
Mini‑metodología para diagnosticar problemas comunes
Sigue estos pasos rápidos cuando notes degradación del rendimiento:
- Observa las líneas de sistema (CPU, MEM, DSK, NET). Identifica el subsistema con mayor ocupación.
- Cambia a la vista relevante (m/d/n) para ver la lista de procesos que han cambiado consumo.
- Ordena por la columna clave (P para CPU, r para memoria, o la columna de I/O para discos).
- Investiga la línea de comando (c) para entender qué hace el proceso.
- Si necesitas pruebas continuas, graba una sesión con -w y analiza fuera de línea con -r.
- Si un proceso es sospechoso, identifica si es normal (backup, batch job) o una anomalía (bucle, fuga de memoria).
Criterio de diagnóstico para CPU alta: si la línea CPU muestra ‘wait’ bajo y ‘sys’ o ‘user’ muy altos, la CPU está ocupada por procesos. Si ‘wait’ es alto, el problema es I/O de disco.
Criterio de diagnóstico para uso de disco: DSK con ‘busy’ alto y ‘avio’ elevado indica latencias en disco; además revisar avq (queue depth).
Criterio de diagnóstico para memoria: si MEM muestra poca ‘free’ y SWP aumenta, existe swapping y posible falta de memoria.
Qué hacer cuando atop no muestra I/O por proceso
- Verifica si el kernel tiene activada la contabilidad de almacenamiento (storage accounting). En algunas distribuciones y versiones antiguas esta opción está desactivada por defecto.
- Comprueba si tu kernel requiere un parche (por ejemplo “cnt”) para contabilizar I/O y tráfico por proceso.
- Si no puedes activar la contabilidad del kernel, usa herramientas alternativas para I/O por proceso como iostat/iotop o herramientas de tracing (bcc/eBPF).
Alternativas y cuándo elegirlas
- top/htop: útiles para una visión rápida por proceso de CPU y memoria. No muestran detalles de I/O por proceso con la misma profundidad.
- iotop: centrado en I/O de disco por proceso. Requiere contabilidad de I/O del kernel.
- nethogs: muestra tráfico de red por proceso en interfaces.
- sar (sysstat): buena para historiales y gráficos; menos dominio por proceso.
- bpftrace / perf / eBPF: para análisis avanzado y tracing dinámico cuando necesites llamadas de sistema o latencias por función.
Elige atop si quieres combinar visión por sistema y por proceso en una sola interfaz y grabar registros para análisis posterior.
Listas de verificación por rol
Administrador de sistemas:
- Ejecutar atop en momentos de carga alta y grabar logs (-w).
- Revisar DSK y NET para latencias de I/O y cuellos de botella.
- Verificar swapping y ajustar memoria o servicios.
DevOps / SRE:
- Usar atop para correlacionar despliegues con picos de recursos.
- Automatizar recolección de logs de atop y centralizar análisis.
- Integrar con alertas (SLI/SLO) si los umbrales críticos se alcanzan regularmente.
Desarrollador:
- Usar la vista de proceso para identificar procesos con fugas de memoria o loops de CPU.
- Ejecutar repros locales con atop para capturar comportamiento de carga.
Casos en los que atop puede fallar o ser insuficiente
- Sistemas con kernels muy antiguos o sin contabilidad de I/O por proceso: atop no podrá mostrar I/O o red por proceso correctamente.
- Necesidad de tracing a nivel de función o syscalls: atop no reemplaza herramientas de profiling profundo (perf, bpftrace).
- Entornos con contenedores: atop mostrará procesos del host; para visibilidad por contenedor conviene combinar con herramientas específicas de contenedores o habilitar contabilidad por cgroup.
Buenas prácticas y seguridad
- Ejecuta atop con permisos mínimos necesarios; para ver toda la información necesitas root.
- Rotación de logs: si usas -w para grabar sesiones, rota y comprime los archivos para no llenar disco.
- Privacidad: las líneas de comando pueden incluir datos sensibles (arguments/paths). Protege los logs y elimina información sensible si se comparte.
Plantilla rápida para una sesión de diagnóstico (SOP)
- Ejecuta: sudo atop -w /var/log/atop-YYYYMMDD.log 60 1440 (graba cada 60s durante 24h).
- Reproduce la carga o espera el pico de producción.
- Reproduce fuera de línea: sudo atop -r /var/log/atop-YYYYMMDD.log y navega con filtros (m/d/n/c).
- Extrae timestamps y PIDs relevantes para trazar en logs de aplicación.
- Archiva el registro y documenta hallazgos: proceso, causa probable, acción tomada.
Glosario rápido (1 línea por término)
- I/O: operaciones de entrada/salida a disco.
- Swap: espacio en disco usado como memoria virtual.
- Page cache: memoria usada para cache de archivos en disco.
- avq: profundidad media de cola de peticiones al dispositivo de almacenamiento.
- avio: latencia media por petición (ms).
Ejemplo práctico: diagnosticar latencia de disco
- Observa DSK: si ‘busy’ y ‘avio’ son altos, hay latencia.
- Pulsa d en atop para ver procesos con más lecturas/escrituras.
- Ordena por KiB/r o KiB/w para identificar procesos generadores de I/O.
- Revisa si los procesos corresponden a backups, cargas batch o consultas de base de datos.
- Si es tráfico inesperado, considera limitar I/O, migrar almacenamiento o investigar bloqueo de ficheros.
Conclusión
atop es una herramienta potente y flexible para monitorizar carga en Linux. Combina visibilidad a nivel de sistema con detalle por proceso y permite registrar sesiones para análisis posterior. Conocer las teclas interactivas, la metodología de diagnóstico y sus limitaciones te permitirá usar atop con eficacia. Si necesitas trazas más profundas o visibilidad por contenedor, complementa atop con herramientas especializadas.
Notas finales:
- Consulta la página de manual (man atop) para opciones avanzadas y personalización de columnas.
- Protege los registros que contengan líneas de comando sensiblemente detalladas.
Resumen de acciones recomendadas:
- Instala y prueba atop en un entorno controlado.
- Practica la metodología de diagnóstico descrita.
- Combina atop con otras herramientas cuando necesites trazas a nivel de función o visibilidad por contenedor.
Materiales similares
Apaga tu Nest automáticamente cuando enfría

Apagar WiFi al conectar Ethernet en Windows

Foto de perfil personalizada en Netflix

Programar pestañas en Chrome con Open Me Later
Configurar M‑Audio Transit en Ubuntu 9.04
