~/docs /DevOps/CPU & RAM
DevOps
CPU & RAM
Imported from Notion: CPU & RAM
updated:: 2026.07.10
Qué resuelve
Comandos rápidos para monitorizar CPU, RAM y carga del sistema en Linux. Útil cuando una máquina va lenta, un servicio consume demasiado o necesitas identificar un cuello de botella inicial.
[!NOTE] ✅ Esta página se centra en recursos del sistema y procesos. Para servicios usa
web/docs/DevOps/Systemd; para logs usaweb/docs/DevOps/Logs & Journalctl.
Uso rápido
RAM
free -h
Qué mirar: available.
[!NOTE] 💡 En Linux, parte de la memoria marcada como usada puede ser caché recuperable. Para triage rápido,
availablesuele ser más útil quefree.
Ejemplo:
total used free shared buff/cache available
Mem: 16Gi 3.2Gi 8.5Gi 120Mi 4.3Gi 12Gi
Swap: 2Gi 0B 2Gi
CPU e inventario
lscpu
nproc
lscpu describe el hardware. No mide uso en tiempo real.
CPU y RAM en tiempo real
htop
Si no está instalado:
sudo apt update
sudo apt install htop
Alternativa básica:
top
Diagnóstico rápido
Carga media
uptime
Regla rápida:
-
carga menor que CPUs lógicas: normalmente asumible;
-
carga sostenida muy por encima de CPUs lógicas: revisar procesos, I/O o bloqueos;
-
carga alta con CPU baja: sospecha de disco, red o espera de I/O.
CPU por núcleo
mpstat -P ALL 1
Si no está disponible:
sudo apt install sysstat
RAM y swap
vmstat 1
swapon --show
[!NOTE] ⚠️ Swap usada de forma puntual no siempre es grave. Swap creciendo, mucha espera y sistema lento sí son señales de presión de memoria.
Procesos que más consumen
CPU
ps aux --sort=-%cpu | head
RAM
ps aux --sort=-%mem | head
Vista compacta
ps -eo pid,ppid,%cpu,%mem,cmd --sort=-%cpu | head -20
Servicio concreto
Ver estado
systemctl status NOMBRE.service
Ver procesos asociados a una unidad
systemctl status NOMBRE.service
systemctl show NOMBRE.service -p MainPID
Medir un PID concreto
ps -o pid,ppid,%cpu,%mem,etime,cmd -p PID
[!NOTE] ⚠️ Evita depender de
pidof python3si hay varios procesos Python. Localiza primero el proceso correcto por servicio, ruta o comando.
Cuándo usar cada comando
| Comando | Úsalo para | Tipo |
|---|---|---|
free -h | RAM disponible y swap | Resumen |
uptime | Carga media y tiempo encendido | Triage |
lscpu | Características de CPU | Inventario |
nproc | CPUs lógicas disponibles | Inventario |
htop | Diagnóstico visual interactivo | Tiempo real |
top | Alternativa básica a htop | Tiempo real |
mpstat -P ALL 1 | Uso de CPU por núcleo | Métricas |
vmstat 1 | Memoria, swap, I/O y CPU | Métricas |
ps aux --sort=-%cpu | Procesos pesados por CPU | Rápido |
ps aux --sort=-%mem | Procesos pesados por RAM | Rápido |
Errores comunes
-
Mirar solo
freey noavailable. -
Confundir
lscpucon consumo en tiempo real. -
No comparar carga media con número de CPUs lógicas.
-
Matar procesos sin entender si los relanza
systemd. -
Usar
pidofcon procesos genéricos comopython3,nodeojava.
Checklist final
-
Revisé
uptimepara contexto de carga. -
Revisé
free -hy miréavailable. -
Abrí
htopotop. -
Listé procesos por CPU y RAM.
-
Si era un servicio, lo comprobé con
systemctl status. -
Si el problema persiste, revisé logs en
web/docs/DevOps/Logs & Journalctl.
- EOF -