🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo monitorear el uso de CPU y memoria en Linux

Actualizado el 7 de mayo de 2026

¿Por qué es importante monitorear el uso de CPU y memoria en Linux?

Cuando administras un servidor Linux, ya sea para alojar una web, una base de datos o una aplicación, el rendimiento es clave. Si la CPU o la memoria RAM se saturan, tu sitio puede volverse lento, responder con errores o incluso colgarse por completo. Por eso, saber monitorear cpu linux no es un lujo, es una necesidad básica de supervivencia digital.

La buena noticia es que no necesitas instalar herramientas complejas ni pagar por software caro. Linux incluye una serie de comandos nativos, potentes y ligeros que te permiten ver en tiempo real qué está pasando con los recursos de tu sistema. Además, aprender a interpretar estos datos te ayudará a detectar procesos anómalos, picos de demanda o simplemente a planificar una ampliación de recursos antes de que sea un problema crítico.

En esta guía, vamos a recorrer paso a paso los métodos más efectivos y prácticos para monitorear cpu linux y el uso memoria linux. No importa si eres un principiante absoluto o si ya tienes algo de experiencia; el objetivo es que termines con un conocimiento sólido y aplicable hoy mismo.

Primeros pasos: conoce tu sistema

Antes de lanzarte a mirar procesos, es útil tener una vista general de tu hardware. Esto te ayudará a contextualizar lo que ves después. Por ejemplo, si tu servidor solo tiene 1 GB de RAM, es normal que la memoria esté al 80% con unos pocos servicios activos. Pero si tienes 16 GB y está al 90%, algo está fallando.

Para obtener un resumen rápido de tu CPU y memoria, usa estos comandos:

lscpu

Este comando te muestra información detallada del procesador: número de núcleos, velocidad, arquitectura, etc. Es perfecto para saber con qué hardware cuentas.

Para la memoria:

free -h

La opción -h hace que la salida sea "legible para humanos" (en MB o GB). Verás una tabla con la memoria total, usada, libre y la memoria de intercambio (swap). Si el swap está en uso, es una señal de que la RAM física se ha quedado corta.

El rey indiscutible: el comando top

Si hay un comando que debes conocer para monitorear cpu linux, ese es top. Es una herramienta interactiva que muestra en tiempo real los procesos que más recursos consumen, así como el uso global de CPU y memoria.

Para lanzarlo, simplemente escribe:

top

Verás una interfaz que se actualiza cada pocos segundos. En la parte superior, se muestra un resumen del sistema: tiempo de actividad, número de usuarios, carga media y, lo más importante, el porcentaje de uso de CPU y memoria.

Debajo, aparece una lista de procesos ordenados por consumo de CPU (de mayor a menor). Esta lista es oro puro para detectar qué aplicación se está comiendo tus recursos.

Interpretando la salida de top

La línea de CPU es especialmente útil. Verás varios valores:

  • us: porcentaje de CPU usado por procesos de usuario.
  • sy: porcentaje usado por el sistema (kernel).
  • id: porcentaje de CPU inactiva (ideal para saber si tienes margen).
  • wa: tiempo de espera de entrada/salida (si es alto, puede haber un problema de disco).

En cuanto a la lista de procesos, presta atención a las columnas:

  • PID: identificador del proceso.
  • USER: usuario que lo ejecuta.
  • %CPU: consumo de CPU.
  • %MEM: consumo de memoria RAM.
  • COMMAND: nombre del proceso.

Si ves un proceso con un %CPU muy alto (por ejemplo, 100% o más en sistemas multinúcleo), es un candidato claro a investigar. Puede ser legítimo (una compilación, un backup) o un proceso malicioso.

Atajos útiles dentro de top

top no es solo mirar; puedes interactuar con él:

  • Pulsa P para ordenar por uso de CPU.
  • Pulsa M para ordenar por uso de memoria.
  • Pulsa k para matar un proceso (te pedirá el PID).
  • Pulsa q para salir.

[TIP] Si quieres ver solo los procesos de un usuario concreto, pulsa u dentro de top y escribe el nombre del usuario. Es muy útil para aislar problemas de una cuenta específica.

Una alternativa moderna: el comando htop

Si top te parece un poco espartano, htop es su primo moderno y colorido. Ofrece una interfaz más amigable, con barras visuales de uso de CPU y memoria, y permite interactuar con el ratón (en terminales que lo soporten).

Para instalarlo en Debian/Ubuntu:

sudo apt install htop

En CentOS/RHEL:

sudo yum install htop

Una vez instalado, ejecuta:

htop

Verás una vista mucho más clara. La parte superior muestra barras de uso para cada núcleo de la CPU, y una barra de memoria. Debajo, la lista de procesos con colores que facilitan la lectura.

Ventajas de htop frente a top:

  • No necesitas memorizar atajos de teclado; puedes hacer clic en las columnas para ordenar.
  • Puedes desplazarte vertical y horizontalmente con las flechas.
  • Matar procesos es más intuitivo (selecciona y pulsa F9).

[INFO] En algunos sistemas, htop no viene preinstalado. Si no lo tienes, instálalo con el gestor de paquetes de tu distribución. Vale la pena el esfuerzo.

Monitoreo puntual con el comando ps

A veces no quieres una vista continua, sino una instantánea de los procesos en un momento dado. Ahí entra ps (process status). Es perfecto para ver procesos linux de forma estática y filtrar por criterios.

El comando más completo es:

ps aux

Este comando muestra todos los procesos de todos los usuarios, con información detallada. Las columnas son similares a las de top, pero sin actualización en tiempo real.

Si quieres ver los 10 procesos que más CPU consumen:

ps aux --sort=-%cpu | head -11

Para los 10 que más memoria consumen:

ps aux --sort=-%mem | head -11

[TIP] Combina ps con grep para buscar un proceso concreto. Por ejemplo: ps aux | grep nginx te mostrará todos los procesos relacionados con Nginx.

Monitoreo en tiempo real con el comando watch

El comando watch es un comodín fantástico: ejecuta un comando periódicamente y muestra la salida en pantalla. Es ideal para combinar con otros comandos y tener una vista "en vivo" sin usar top.

Por ejemplo, para actualizar la salida de free cada 2 segundos:

watch -n 2 free -h

Para ver el uso de CPU y memoria en un formato compacto:

watch -n 1 'ps aux --sort=-%cpu | head -15'

Esto te da una tabla que se refresca cada segundo con los procesos más pesados. Es una forma excelente de monitorear durante una prueba de carga o mientras se ejecuta una tarea pesada.

Detectando problemas de memoria: el archivo /proc/meminfo

Linux expone mucha información del kernel a través del sistema de archivos virtual /proc. El archivo meminfo contiene datos detallados sobre la memoria.

Para verlo:

cat /proc/meminfo

Verás líneas como:

  • MemTotal: memoria RAM total.
  • MemFree: memoria completamente libre.
  • MemAvailable: memoria disponible para nuevas aplicaciones (incluye caché que puede liberarse).
  • Buffers/Cached: memoria usada para caché de disco (se libera automáticamente si hace falta).

[WARNING] No te asustes si ves que la memoria "usada" es alta y la "libre" es baja. Linux utiliza la RAM libre para caché de archivos, lo cual es bueno. La métrica clave es MemAvailable. Si es baja, entonces sí tienes un problema.

Monitorizando el swap

El swap es espacio en disco que se usa como memoria virtual cuando la RAM física se agota. Si el sistema está usando swap de forma constante, es una señal de que tienes poca memoria RAM.

Para ver el uso de swap:

free -h

Y para ver qué procesos están usando swap (requiere permisos de root):

for file in /proc/*/status ; do awk '/VmSwap/{swap=$2} /Name/{name=$2} END{print swap, name}' $file; done | sort -n | tail -10

Este comando es un poco avanzado, pero te muestra los 10 procesos que más swap están consumiendo.

[INFO] Si ves que el swap está al 90% o más de forma habitual, considera aumentar la RAM física o optimizar las aplicaciones que más consumen.

Uso de la memoria caché y cómo liberarla (con cuidado)

Es común que los administradores novatos intenten "liberar" memoria caché viendo que está muy alta. No lo hagas sin entender el contexto. La caché es un mecanismo de rendimiento; eliminar la caché hará que el sistema funcione más lento temporalmente.

Dicho esto, si necesitas liberar caché para una prueba o porque un proceso lo requiere, puedes hacerlo con:

sudo sync && echo 3 > /proc/sys/vm/drop_caches

[WARNING] Este comando no debe usarse en producción sin una razón muy concreta. Linux ya gestiona la caché de forma inteligente. Forzar su limpieza puede degradar el rendimiento.

Herramientas gráficas y paneles de control

Si prefieres una interfaz gráfica, hay opciones como glances, que combina lo mejor de top, htop y más en una sola pantalla.

Para instalarlo:

sudo apt install glances

Y ejecutarlo:

glances

También puedes usar paneles de control web como Syspanel (antes conocido como HestiaCP), que incluyen gráficas de uso de CPU y memoria en su interfaz. Si usas Syspanel, recuerda que el puerto de acceso es el 2106. Desde ahí podrás ver estadísticas históricas y en tiempo real sin necesidad de usar la terminal.

[INFO] Syspanel es una excelente opción si gestionas varias webs o servidores y quieres tener un control visual sin renunciar a la potencia de Linux. Accede a http://tu-servidor:2106 para ver el panel.

Ejemplo práctico: diagnóstico de un servidor lento

Imagina que tu web va lenta. Estos son los pasos que seguirías:

  1. Abre una terminal y ejecuta top.
  2. Observa la línea de CPU: si us está por encima del 90%, hay un proceso que está saturando.
  3. Mira la lista de procesos y busca el que tenga más %CPU. Anota su PID.
  4. Ejecuta ps aux | grep PID para ver más detalles del proceso.
  5. Si es un proceso conocido (por ejemplo, MySQL), quizás necesitas optimizar consultas o aumentar recursos.
  6. Si es un proceso desconocido, investiga su ruta de ejecución. Podría ser un malware.
  7. Revisa la memoria con free -h: si MemAvailable es baja y el swap está en uso, tienes un problema de RAM.

Con estos pasos, en menos de 5 minutos tendrás un diagnóstico claro.

Preguntas frecuentes (FAQ)

¿Por qué mi CPU está al 100% sin que yo esté haciendo nada?

Puede ser que haya un proceso en segundo plano (backup, actualización, indexación) o un proceso malicioso. Usa top y ordena por consumo para identificarlo. Si es un proceso legítimo, espera a que termine. Si no lo reconoces, revísalo con ps aux.

¿Cuánta memoria libre es "normal"?

Depende del sistema. En un servidor con 4 GB de RAM, tener 500 MB libres es normal porque el resto se usa como caché. Lo importante es MemAvailable. Si está por debajo de 200 MB, deberías preocuparte.

¿Qué hago si mi servidor se queda sin memoria?

Primero, identifica qué proceso consume más con top. Luego, decide si puedes reiniciarlo o matarlo. Si es un servicio crítico, considera aumentar la RAM o configurar un límite de memoria para ese proceso.

¿top y htop muestran lo mismo?

Básicamente sí, pero htop es más visual y fácil de usar. Ambos son válidos. top viene preinstalado en casi todas las distribuciones; htop hay que instalarlo.

¿Es malo que la caché de memoria sea alta?

No, en absoluto. Es una señal de que Linux está aprovechando la RAM libre para acelerar el acceso a archivos. Se libera automáticamente cuando una aplicación necesita memoria.

Conclusión

Monitorear el uso de CPU y memoria en Linux es una habilidad esencial para cualquier administrador de sistemas, aunque estés empezando. Los comandos top, htop, ps y free son tus mejores aliados, y con un poco de práctica podrás leerlos como si fueran tu propio idioma.

Recuerda que la clave no es solo mirar los números, sino entender el contexto: qué procesos son normales, cuáles no, y qué recursos tiene tu sistema. Con esta guía, ya tienes las herramientas para monitorear cpu linux y el uso memoria linux con confianza.

Y si prefieres una solución más visual y centralizada, no olvides que Syspanel (puerto 2106) te ofrece gráficas y estadísticas que complementan perfectamente el trabajo en terminal. ¡Tu servidor te lo agradecerá!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel