- Métodos para analizar el consumo de CPU y memoria mediante comandos nativos y herramientas avanzadas como htop.
- Estrategias de monitorización de GPU basándose en el subsistema DRM y herramientas específicas por fabricante.
- Gestión de recursos en entornos virtualizados utilizando Docker y clusters de Kubernetes.
Si te mueves por el ecosistema de Linux, sabrás que tener el control total sobre lo que ocurre bajo el capó es fundamental. No hay nada más frustrante que notar que el ordenador va lento y no tener ni idea de qué proceso se está tragando toda la potencia del equipo o dejándote sin memoria RAM.
Para solucionar esto, existen un montón de herramientas, desde los comandos más básicos que vienen instalados de serie hasta software más sofisticado que nos permite ver, por ejemplo, cuánta VRAM está usando una aplicación concreta de diseño o renderizado. Vamos a desgranar todas las opciones para que tu máquina vuele.
Control de Procesos: CPU y Memoria RAM

Antes de entrar en materia, conviene recordar que un proceso es básicamente un programa cargado en memoria que se ejecuta paso a paso. En Linux, esto puede volverse complejo porque un proceso puede engendrar procesos hijos, como ocurre con el demonio sshd, creando una estructura jerárquica que consume recursos en cadena.
La herramienta estrella para empezar es el comando ps. Si quieres ver el panorama completo, lo ideal es usar ps aux. La opción ‘a’ nos enseña los procesos de todos los usuarios, la ‘u’ nos da el detalle de cuánta CPU y RAM consume cada uno, y la ‘x’ incluye aquellos que no están ligados a una terminal. Ahora bien, como la salida es un caos de datos, lo normal es combinarlo con tuberías (pipes) y otras herramientas:
- Filtrado con AWK y Sort: Para no volverse loco leyendo líneas, podemos usar AWK para seleccionar solo las columnas que nos interesan (como el PID, el % de CPU y el comando) y luego pasarlo por
sort -rnpara ordenar los resultados de mayor a menor. - Uso de Head: Si solo quieres ver el «Top 10» de los procesos más glotones, añadir
| headal final de tu comando limpiará la pantalla y te dejará solo con los diez culpables principales. - Alternativas Visuales: Para los que prefieren algo más dinámico que el comando ps, existen
topyhtop, que ofrecen una interfaz mucho más intuitiva y actualizada en tiempo real.
Monitorización Avanzada de la GPU

Aquí es donde la cosa se pone interesante. Hasta hace poco, era habitual ver el consumo global de la tarjeta gráfica, pero no sabíamos qué programa específico estaba disparando la carga. Afortunadamente, herramientas como hw-monitor (versión 0.6 en adelante) han cambiado el juego al permitir el desglose por proceso.
Este software se apoya en los drivers DRM (Direct Rendering Manager) del kernel, que es la capa encargada de gestionar el hardware gráfico. Gracias a esto, es compatible con una gama amplísima de hardware: AMDGPU para las tarjetas de AMD, Intel i915 y Xe para Intel, y el controlador libre Nouveau para NVIDIA. Esto es un alivio para quienes trabajan en render 3D o simulaciones, ya que pueden identificar exactamente qué aplicación está reteniendo la VRAM.
Si buscas herramientas más específicas según tu hardware, tienes varias opciones:
- nvidia-smi: El estándar para NVIDIA, que permite ver la temperatura, la potencia consumida y la VRAM por proceso. Si quieres que se actualice solo, puedes usar el comando
watch. - nvtop y nvitop: Estas herramientas llevan la monitorización a otro nivel con interfaces gráficas en la terminal, mostrando gráficos de carga y uso de memoria mucho más visuales que el smi tradicional.
- KDE Plasma System Monitor: Para quienes prefieren una interfaz de escritorio, este monitor ofrece una sección de GPU bastante decente, aunque es menos detallado en cuanto a la VRAM específica por aplicación.
Gestión de Recursos en Contenedores y Clusters

Si tu proyecto implica Docker o Kubernetes, la gestión cambia un poco porque ya no hablamos de un sistema operativo limpio, sino de capas de virtualización. En Docker, el comando docker stats es la herramienta definitiva, ya que nos muestra en vivo el porcentaje de CPU y la memoria usada por cada contenedor en ejecución.
Si necesitas poner límites para que un contenedor no se coma todos los recursos del host, puedes usar el parámetro --cpus al lanzar la imagen. Por ejemplo, asignar --cpus=0.5 limitará ese proceso al 50% de un núcleo. Para inspeccionar qué pasa dentro, docker top nos permite ver los procesos internos del contenedor y su impacto en el procesador.
En entornos más masivos como Kubernetes, la cosa escala. Aquí entra en juego el Metrics Server, que recopila datos de los nodos y pods. Mediante kubectl top nodes o kubectl top pods, podemos detectar cuellos de botella rápidamente. Para quienes buscan algo profesional, la combinación de Prometheus y Grafana es imbatible, permitiendo crear dashboards personalizados con alertas automáticas cuando un recurso sobrepasa un umbral crítico.

Contar con un arsenal que vaya desde el simple ps aux hasta la potencia de Grafana o el desglose de DRM en la GPU permite que cualquier administrador de sistemas mantenga la estabilidad de Linux. Ya sea limitando núcleos en Docker, rastreando la VRAM con hw-monitor o filtrando procesos pesados con AWK, la clave reside en saber qué herramienta aplicar según la granularidad de datos que necesitemos para optimizar el rendimiento del hardware.











