Cómo interpretar correctamente la carga de un servidor Linux

Introducción

Interpretar correctamente la carga de un servidor Linux exige comprender qué está midiendo realmente el sistema. Los tres números que aparecen al ejecutar uptime, w o top no representan un porcentaje de CPU, no indican por sí solos que el servidor esté saturado y tampoco permiten concluir automáticamente que exista un problema de rendimiento.

La carga media, conocida habitualmente como load average, resume cuántas tareas están compitiendo por ejecutarse o esperando determinados recursos durante varios intervalos de tiempo. Su significado depende del número de procesadores lógicos disponibles, del tipo de carga, del comportamiento del almacenamiento, de la existencia de procesos bloqueados y de la duración del fenómeno observado.

Un valor de carga igual a 4 puede ser crítico en una máquina con dos CPU lógicas y completamente normal en otra con dieciséis. Del mismo modo, una carga alta puede aparecer con la CPU relativamente desocupada si muchos procesos están bloqueados esperando operaciones de disco. También puede existir una degradación importante con una carga moderada cuando una única aplicación serializa el trabajo, mantiene bloqueos o responde con latencia elevada.

Este artículo explica cómo interpretar la carga de un servidor Linux con un método práctico y reproducible. El objetivo es aprender a distinguir entre utilización normal, picos puntuales, saturación de CPU, espera de E/S, colas crecientes, procesos bloqueados y problemas de arquitectura. Está orientado a profesionales, autónomos, microempresas, PYMES y organizaciones que administran servidores web, plataformas WordPress, aplicaciones empresariales o entornos LMS.

Índice

Qué es la carga de un servidor Linux

La carga media representa el número medio de tareas que, durante un intervalo determinado, se encuentran en situación de ejecutar o esperando un recurso que impide continuar.

En términos operativos, la carga ayuda a responder a esta pregunta:

¿Cuántas tareas están intentando avanzar al mismo tiempo y cuántas deben esperar?

La carga no mide directamente:

  • el porcentaje de CPU;
  • el porcentaje de memoria utilizada;
  • la latencia de una aplicación;
  • el número total de procesos;
  • la cantidad de usuarios conectados;
  • la velocidad del almacenamiento;
  • la calidad percibida por el usuario.

Es un indicador agregado de presión sobre la capacidad de ejecución. Para interpretarlo hay que relacionarlo con CPU, E/S, memoria, procesos, colas y tiempos de respuesta.

La carga puede aumentar por:

  • muchos procesos compitiendo por CPU;
  • procesos bloqueados esperando disco;
  • tareas programadas que coinciden en el tiempo;
  • consultas pesadas de base de datos;
  • copias de seguridad;
  • compresión o cifrado;
  • procesos hijos creados en exceso;
  • errores que generan reintentos;
  • almacenamiento lento;
  • recursos virtuales sobreasignados.

Qué significan los tres valores de load average

Al ejecutar:

uptime

puede aparecer una salida como:

20:15:31 up 42 days,  3:17,  2 users,  load average: 1.12, 0.86, 0.64

Los tres valores representan la carga media durante aproximadamente:

  • el último minuto;
  • los últimos cinco minutos;
  • los últimos quince minutos.

No son tres mediciones independientes tomadas exactamente al final de cada periodo. Son medias móviles que reaccionan con distinta velocidad.

Primer valor: respuesta rápida

El valor de un minuto detecta cambios recientes. Puede subir mucho por una tarea breve y bajar rápidamente.

Segundo valor: tendencia intermedia

El valor de cinco minutos ayuda a distinguir entre un pico momentáneo y una presión que empieza a mantenerse.

Tercer valor: tendencia más estable

El valor de quince minutos refleja una situación más sostenida y permite observar si el sistema está entrando o saliendo de un periodo de carga.

Cómo leer la dirección de la tendencia

Una secuencia como:

6.50, 3.20, 1.80

indica que la carga ha aumentado recientemente.

Una secuencia como:

1.20, 3.40, 5.10

indica que la carga fue más alta y está descendiendo.

Una secuencia como:

2.10, 2.05, 2.00

muestra una situación relativamente estable.

Por qué la carga no es un porcentaje de CPU

Un error frecuente consiste en interpretar una carga de 1 como 100 %, una carga de 0,5 como 50 % o una carga de 2 como 200 %. Esa equivalencia es incorrecta.

La carga expresa una cantidad media de tareas, no un porcentaje. Para darle contexto hay que conocer cuántas CPU lógicas pueden ejecutar trabajo simultáneamente.

En una máquina con una sola CPU lógica:

  • carga 0,5 significa que existe margen;
  • carga 1 indica ocupación aproximada de toda la capacidad;
  • carga 2 sugiere que, en promedio, una tarea se ejecuta y otra espera.

En una máquina con ocho CPU lógicas:

  • carga 1 representa poca presión;
  • carga 4 puede ser normal;
  • carga 8 indica utilización completa aproximada;
  • carga 16 sugiere una cola importante.

Incluso esta comparación es una simplificación, porque la carga puede incluir procesos bloqueados por E/S. Por eso no debe utilizarse como sustituto del porcentaje de CPU.

Cómo normalizar la carga según el número de CPU

El primer paso para interpretar la carga consiste en conocer el número de procesadores lógicos disponibles.

nproc

También puede utilizarse:

lscpu

Una aproximación útil es calcular:

Carga normalizada = load average / número de CPU lógicas

Por ejemplo, si la carga de cinco minutos es 6 en una máquina con 8 CPU:

6 / 8 = 0,75

Existe presión, pero no necesariamente una cola sostenida de CPU.

Si la carga de cinco minutos es 12 en una máquina con 4 CPU:

12 / 4 = 3

La demanda media equivale aproximadamente a tres veces la capacidad paralela disponible. Esto merece investigación inmediata.

Interpretación orientativa

Carga normalizada Interpretación inicial
Menor de 0,5 Margen amplio en condiciones normales
Entre 0,5 y 1 Uso significativo, normalmente sin cola sostenida
Alrededor de 1 Capacidad ocupada aproximadamente
Mayor de 1 Existen tareas esperando o bloqueadas
Muy superior a 1 Presión intensa, cola o bloqueo

Estos valores no deben convertirse en reglas rígidas. Un servidor puede tolerar una carga normalizada superior a 1 durante segundos y degradarse gravemente con una inferior a 1 si una aplicación crítica depende de un único hilo o de un recurso lento.

Qué procesos cuentan dentro de la carga

La carga incluye principalmente tareas que se encuentran:

  • en ejecución;
  • listas para ejecutarse;
  • en espera no interrumpible, habitualmente por E/S.

Estado R

El estado R indica que una tarea está ejecutándose o preparada para utilizar CPU.

Estado D

El estado D indica espera no interrumpible. Suele aparecer cuando un proceso espera disco, almacenamiento de red, dispositivo o una operación del kernel.

Una acumulación de procesos en estado D puede elevar la carga aunque el porcentaje de CPU no sea alto.

Estados que normalmente no elevan la carga

Los procesos dormidos de forma interrumpible, detenidos o zombis no representan por sí mismos demanda de ejecución equivalente.

Para revisar estados:

ps -eo state,pid,ppid,comm,wchan:32 --sort=state

Para localizar procesos en estado no interrumpible:

ps -eo state,pid,ppid,comm,wchan:32 | awk '$1 ~ /^D/'

Diferencia entre saturación de CPU y espera de E/S

Dos servidores pueden mostrar la misma carga y tener problemas completamente distintos.

Saturación de CPU

Se caracteriza por:

  • CPU de usuario o sistema elevada;
  • cola de ejecución creciente;
  • poco tiempo ocioso;
  • procesos en estado R;
  • latencia que aumenta con el volumen de trabajo.

Espera de E/S

Puede mostrar:

  • carga alta;
  • CPU no completamente ocupada;
  • porcentaje de iowait elevado;
  • procesos en estado D;
  • colas de disco;
  • latencia elevada del almacenamiento.

Por qué importa la diferencia

Ampliar CPU no resuelve una cola causada por disco lento. Del mismo modo, cambiar almacenamiento no corrige un proceso que consume todos los núcleos por cálculo intensivo.

La carga es el síntoma agregado. El diagnóstico debe localizar el recurso que impide avanzar.

Comandos básicos para revisar la carga

uptime

uptime

Muestra tiempo encendido, usuarios y carga media.

w

w

Añade información de usuarios conectados y actividad.

top

top

Permite relacionar carga, CPU, memoria, procesos y estados.

vmstat

vmstat 1

Muestra cola de ejecución, procesos bloqueados, memoria, swap, E/S y CPU.

sar

sar -q 1 10

Permite observar cola y carga durante varias muestras.

ps

ps -eo pid,ppid,state,ni,pri,psr,%cpu,%mem,etime,comm --sort=-%cpu | head -30

Ayuda a localizar procesos activos y su estado.

pidstat

pidstat -u -r -d 1

Relaciona CPU, memoria y E/S por proceso.

iostat

iostat -xz 1

Permite revisar latencia y utilización del almacenamiento cuando se sospecha E/S.

Cómo interpretar uptime

uptime es una lectura rápida, no un diagnóstico completo.

Supongamos:

load average: 8.20, 5.40, 2.10

La carga está creciendo con rapidez. Conviene revisar inmediatamente qué cambió durante los últimos minutos.

Supongamos:

load average: 2.00, 5.10, 8.30

La presión está descendiendo. Puede haber terminado una copia, una importación o un pico de tráfico.

Supongamos:

load average: 6.00, 6.10, 6.05

La carga es estable. La gravedad dependerá del número de CPU y de la calidad del servicio.

Preguntas que uptime no responde

  • ¿La espera es por CPU o por disco?
  • ¿Qué procesos participan?
  • ¿Existe swap activa?
  • ¿La latencia del servicio ha aumentado?
  • ¿La carga corresponde a una tarea planificada?
  • ¿El sistema se recuperará solo?

Cómo interpretar la carga desde top

top combina varias métricas y permite observar el contexto.

Procesos totales y estados

La cabecera muestra cuántos procesos están ejecutándose, dormidos, detenidos o zombis.

Distribución de CPU

Conviene revisar:

  • us: tiempo en procesos de usuario;
  • sy: tiempo en kernel;
  • id: tiempo ocioso;
  • wa: espera de E/S;
  • st: tiempo robado por el hipervisor.

Procesos principales

Ordenar por CPU ayuda a localizar procesos intensivos:

top -o %CPU

Ordenar por memoria:

top -o %MEM

Mostrar hilos

Algunas aplicaciones concentran carga en hilos concretos:

top -H

No confundir proceso visible con causa raíz

Un proceso puede aparecer arriba porque responde a una demanda legítima. Por ejemplo, la base de datos puede consumir CPU debido a consultas generadas por una aplicación mal optimizada. El proceso visible es el ejecutor, pero no necesariamente el origen funcional del problema.

Cómo usar vmstat para entender la cola

vmstat es especialmente útil porque muestra varias dimensiones en una sola salida.

vmstat 1

Campo r

Indica procesos ejecutables. Si supera de forma sostenida el número de CPU lógicas, existe cola de CPU.

Campo b

Indica procesos bloqueados, habitualmente por E/S.

Campos si y so

Muestran entrada y salida de swap. Actividad sostenida puede agravar latencia y carga.

Campos bi y bo

Muestran bloques recibidos y enviados por dispositivos.

Campos us, sy, id y wa

Permiten distinguir trabajo de usuario, kernel, tiempo ocioso y espera de E/S.

Patrón Interpretación probable
r alto, id bajo Saturación de CPU
b alto, wa alto Espera de almacenamiento
si/so sostenidos Presión de memoria y swap
Carga alta con r y b bajos Revisar muestreo, picos ya terminados o métricas complementarias

Cómo analizar el histórico con sar

Las herramientas en tiempo real pueden no capturar un problema ocurrido durante la noche. sar, incluido habitualmente en el paquete sysstat, permite consultar históricos.

Cola y carga

sar -q

CPU

sar -u

Memoria

sar -r

Swap

sar -W

Discos

sar -d

Revisar otro día

sar -q -f /var/log/sysstat/sa02

La ruta puede variar según distribución.

El histórico permite responder:

  • ¿a qué hora empezó la carga?
  • ¿coincidió con una copia?
  • ¿fue un pico o una meseta?
  • ¿aumentó también la espera de E/S?
  • ¿la CPU estaba saturada?
  • ¿el patrón se repite cada día?

Cómo localizar procesos con ps y pidstat

Procesos por CPU

ps -eo pid,ppid,state,%cpu,%mem,etime,cmd --sort=-%cpu | head -30

Procesos en ejecución

ps -eo state,pid,ppid,%cpu,%mem,etime,comm | awk '$1 ~ /^R/'

Procesos bloqueados

ps -eo state,pid,ppid,%cpu,%mem,etime,comm,wchan:32 | awk '$1 ~ /^D/'

Actividad por proceso en tiempo real

pidstat 1

Actividad de E/S por proceso

pidstat -d 1

Actividad de hilos

pidstat -t 1

El objetivo no es identificar simplemente el proceso que más consume, sino comprobar:

  • si el consumo es sostenido;
  • si corresponde a una tarea prevista;
  • si está bloqueado;
  • si crea muchos hijos;
  • si el consumo crece con la demanda;
  • si existe una alternativa de optimización.

Para profundizar en este análisis puede consultarse cómo detectar procesos que consumen recursos innecesariamente.

Presión de CPU, memoria y E/S

Los indicadores PSI, disponibles en sistemas Linux modernos, permiten observar cuánto tiempo las tareas están detenidas porque falta CPU, memoria o capacidad de E/S.

cat /proc/pressure/cpu
cat /proc/pressure/memory
cat /proc/pressure/io

Los valores some y full ayudan a comprender si una parte o la totalidad del trabajo está detenida por presión de recursos.

CPU

La presión de CPU indica tiempo en que algunas tareas esperan capacidad de ejecución.

Memoria

La presión de memoria refleja pausas asociadas a recuperación, reclamación o falta de memoria disponible.

E/S

La presión de E/S muestra tiempo perdido esperando almacenamiento.

PSI complementa la carga porque muestra impacto temporal, no solo número de tareas.

Cómo distinguir picos normales de saturación sostenida

Pico normal

  • duración breve;
  • coincide con tarea conocida;
  • el servicio mantiene tiempos aceptables;
  • la cola desaparece;
  • no genera errores;
  • el sistema recupera margen.

Saturación sostenida

  • carga superior a capacidad durante minutos u horas;
  • cola creciente;
  • latencia elevada;
  • errores o timeouts;
  • procesos bloqueados;
  • recuperación lenta;
  • picos que se solapan;
  • ausencia de margen para tareas periódicas.

Importancia del contexto

Una carga alta durante una copia nocturna puede ser aceptable si no afecta a usuarios y termina dentro de la ventana prevista. La misma carga durante una apertura de matrículas puede ser crítica.

Carga alta con CPU aparentemente baja

Este patrón suele desconcertar, pero tiene varias explicaciones posibles.

Procesos bloqueados por disco

Muchos procesos en estado D aumentan la carga sin consumir CPU.

Almacenamiento de red lento

NFS, iSCSI, volúmenes cloud o NAS pueden introducir esperas.

Dispositivo degradado

Errores de disco, RAID en reconstrucción o latencia elevada pueden bloquear operaciones.

Congestión del hipervisor

Una máquina virtual puede esperar recursos físicos y mostrar tiempo robado.

Muestreo tardío

La carga media conserva memoria de un pico ya terminado. La CPU puede estar ociosa cuando se consulta.

Qué revisar

vmstat 1
iostat -xz 1
ps -eo state,pid,ppid,comm,wchan:32 | awk '$1 ~ /^D/'
dmesg -T | tail -100

Carga baja con servidor lento

Una carga baja no garantiza buen rendimiento.

Aplicación serializada

Un único hilo puede limitar el servicio sin elevar mucho la carga total.

Bloqueos de base de datos

Las consultas pueden esperar locks con poca CPU.

Servicio externo lento

La aplicación puede esperar una API, DNS, correo o pasarela de pago.

Límites de concurrencia

Un pool pequeño de PHP-FPM, conexiones o workers puede generar cola interna invisible para el load average.

Problema de red

Latencia, pérdida de paquetes o resolución DNS pueden degradar la experiencia.

Almacenamiento con latencia moderada

Puede afectar a una operación crítica sin acumular muchos procesos.

Por eso debe medirse también la latencia del servicio, los errores y las colas internas.

Cómo interpretar la carga en sistemas multinúcleo

El número de CPU lógicas establece la capacidad máxima aproximada de ejecución paralela, pero no todos los trabajos se distribuyen igual.

Aplicaciones multihilo

Pueden aprovechar varios núcleos y generar una carga proporcional al número de hilos activos.

Aplicaciones monohilo

Pueden saturar un núcleo mientras otros permanecen libres. La carga total puede parecer baja.

Afinidad de CPU

Un proceso puede estar limitado a ciertos núcleos.

taskset -cp PID

Distribución por CPU

mpstat -P ALL 1

Este comando permite comprobar si la carga está equilibrada o concentrada.

NUMA

En servidores grandes, la arquitectura NUMA puede introducir diferencias de acceso a memoria y distribución de procesos. No debe asumirse que todos los núcleos tienen el mismo acceso a todos los recursos.

Carga en máquinas virtuales y contenedores

Máquinas virtuales

En una VM hay que observar:

  • vCPU asignadas;
  • sobreasignación del host;
  • tiempo steal;
  • latencia del almacenamiento compartido;
  • límites del proveedor;
  • picos coincidentes con otras máquinas.

Una carga alta con steal elevado puede indicar que la máquina virtual no recibe la CPU física esperada.

Contenedores

El load average observado dentro de un contenedor puede reflejar el sistema anfitrión o estar condicionado por límites de cgroups. Hay que revisar:

  • cuotas de CPU;
  • shares;
  • throttling;
  • límites de memoria;
  • E/S compartida;
  • presión del host.

Systemd

Para revisar consumo por unidad:

systemd-cgtop

La interpretación debe considerar tanto el contenedor o VM como el host físico.

Aplicación a servidores web, WordPress y LMS

En servidores web, la carga debe correlacionarse con tráfico, workers, base de datos, caché y tareas programadas.

Nginx o Apache

Conviene revisar conexiones, workers, procesos activos y colas.

PHP-FPM

Un pool saturado puede generar esperas aunque la carga global no parezca extrema.

Base de datos

Consultas lentas, bloqueos, falta de índices o demasiadas conexiones pueden elevar carga y latencia.

WordPress

Plugins, cron interno, generación dinámica, bots y consultas repetidas pueden provocar picos.

LMS

Una plataforma LMS puede concentrar carga durante:

  • inicio de sesiones;
  • apertura de matrículas;
  • evaluaciones;
  • carga de informes;
  • copias de cursos;
  • procesos de correo;
  • tareas programadas;
  • reproducción o preparación de contenidos.

Correlación necesaria

Debe compararse load average con:

  • usuarios concurrentes;
  • latencia HTTP;
  • errores 5xx;
  • workers ocupados;
  • consultas lentas;
  • tiempo de tareas programadas;
  • uso de disco;
  • envío de correos;
  • actividad de copias.

Crear una línea base de carga

Una carga solo puede interpretarse correctamente si se conoce el comportamiento normal del servidor.

Qué registrar

  • carga de 1, 5 y 15 minutos;
  • número de CPU;
  • CPU por estado;
  • cola de ejecución;
  • procesos bloqueados;
  • iowait;
  • swap;
  • latencia de disco;
  • usuarios o solicitudes;
  • latencia del servicio;
  • errores;
  • tareas programadas activas.

Periodos representativos

La línea base debe incluir:

  • horas normales;
  • horas punta;
  • copias;
  • actualizaciones;
  • cierres mensuales;
  • campañas;
  • matrículas o evaluaciones.

El artículo cómo monitorizar recursos del servidor sin complicarte puede utilizarse como base para construir esta observación continua.

Definir umbrales útiles

No conviene establecer una alarma universal como “carga mayor de 1”. El umbral debe adaptarse al número de CPU, duración, servicio y causa.

Umbral informativo

Detecta una desviación y permite observar.

Umbral de planificación

Indica que la tendencia reduce margen y exige optimización o ampliación.

Umbral operativo

Activa revisión inmediata porque la cola afecta al servicio.

Umbral crítico

Existe degradación grave, errores, bloqueos o riesgo de caída.

Condiciones combinadas

Una alerta útil puede exigir:

  • carga normalizada superior a 1 durante diez minutos;
  • latencia p95 por encima del objetivo;
  • cola de ejecución elevada;
  • iowait alto;
  • errores crecientes.

Combinar métricas reduce falsas alarmas.

Método práctico de diagnóstico

  1. Confirmar el número de CPU. Ejecutar nproc y revisar lscpu.
  2. Leer la tendencia. Comparar carga de 1, 5 y 15 minutos.
  3. Comprobar el impacto. Revisar latencia, errores y usuarios afectados.
  4. Observar CPU. Utilizar top, mpstat o sar -u.
  5. Revisar la cola. Utilizar vmstat 1 y sar -q.
  6. Buscar procesos bloqueados. Revisar estados D.
  7. Analizar E/S. Utilizar iostat -xz 1 y pidstat -d 1.
  8. Revisar memoria y swap. Comprobar si la presión de memoria amplifica la carga.
  9. Identificar procesos. Relacionar PID, servicio, usuario y tarea.
  10. Comprobar tareas programadas. Revisar cron, systemd timers, backups e importaciones.
  11. Comparar con histórico. Determinar si el patrón es nuevo o recurrente.
  12. Actuar sobre la causa. Optimizar, reprogramar, limitar, corregir o ampliar.
  13. Volver a medir. Confirmar que disminuyen cola, latencia y errores.

Este método evita actuar por intuición y permite documentar el diagnóstico.

Ejemplos de interpretación

Ejemplo 1: servidor de 4 CPU con carga 1,2

La carga normalizada es 0,3. Si la latencia es buena y no existen procesos bloqueados, la situación probablemente es normal.

Ejemplo 2: servidor de 2 CPU con carga 5,8

Existe una cola importante. Si r es alto y la CPU está casi ocupada, hay saturación de CPU.

Ejemplo 3: servidor de 8 CPU con carga 12 y iowait alto

La carga normalizada es 1,5, pero el problema puede estar en almacenamiento. Deben revisarse procesos D, latencia y colas de disco.

Ejemplo 4: carga 0,8 y web lenta

La carga no explica la lentitud. Conviene revisar workers, base de datos, DNS, API externas, bloqueos y latencia de red.

Ejemplo 5: carga 20 durante dos minutos en una máquina de 16 CPU

Puede ser un pico tolerable si coincide con una tarea planificada y el servicio no se degrada. La duración y el impacto son determinantes.

Ejemplo 6: carga 4 estable en una VM de 4 vCPU con steal alto

La VM utiliza toda su capacidad aparente, pero además pierde tiempo frente a otras máquinas del host. Puede existir sobreasignación del proveedor.

Errores frecuentes

Interpretar carga 1 como 100 % en cualquier servidor

La capacidad depende del número de CPU lógicas.

Mirar solo el valor de un minuto

Puede reflejar un pico sin importancia.

Ignorar los procesos bloqueados

La carga puede aumentar por E/S sin CPU alta.

Reiniciar sin diagnosticar

Puede ocultar temporalmente el problema y eliminar evidencia.

Matar el proceso que más CPU consume

Puede ser una tarea legítima o crítica.

Ampliar CPU ante cualquier carga alta

No corrige almacenamiento lento, locks o límites de concurrencia.

Usar un umbral universal

Cada servidor tiene capacidad, criticidad y patrón distintos.

No medir el servicio

La carga técnica debe relacionarse con latencia y errores.

Ignorar tareas programadas

Copias, cron, rotaciones e informes suelen explicar patrones recurrentes.

No conservar histórico

Sin histórico no puede distinguirse una anomalía de un comportamiento habitual.

Confundir load average con número de usuarios

La relación depende de la aplicación y del trabajo realizado por cada usuario.

No revisar virtualización

El host puede limitar CPU o almacenamiento.

Lista de comprobación

  • ¿Se conoce el número de CPU lógicas?
  • ¿Se han comparado los valores de 1, 5 y 15 minutos?
  • ¿La carga está subiendo, bajando o estable?
  • ¿Existe impacto real en latencia o errores?
  • ¿La CPU está ocupada?
  • ¿Hay una cola de ejecución superior a la capacidad?
  • ¿Existen procesos en estado D?
  • ¿El iowait es elevado?
  • ¿Hay actividad de swap?
  • ¿El almacenamiento muestra latencia o cola?
  • ¿Se han identificado los procesos implicados?
  • ¿El consumo corresponde a una tarea prevista?
  • ¿Existe una tarea cron o timer activa?
  • ¿La carga coincide con copias o informes?
  • ¿Se ha revisado la base de datos?
  • ¿Los workers están saturados?
  • ¿Hay límites de cgroups o contenedores?
  • ¿La máquina virtual muestra tiempo robado?
  • ¿Existe histórico comparable?
  • ¿Se ha definido un umbral adaptado al servidor?
  • ¿La acción propuesta corrige la causa demostrada?
  • ¿Se ha vuelto a medir después del cambio?

Preguntas frecuentes

¿Qué significa load average en Linux?

Representa el número medio de tareas que están ejecutándose, preparadas para ejecutarse o esperando determinados recursos durante los últimos 1, 5 y 15 minutos.

¿Una carga de 1 es alta?

Depende del número de CPU lógicas. En una máquina con una CPU puede representar ocupación completa; en una con ocho CPU es una carga baja.

¿La carga mide el porcentaje de CPU?

No. Es una cantidad media de tareas, no un porcentaje.

¿Por qué puede haber carga alta con CPU baja?

Porque muchos procesos pueden estar bloqueados esperando almacenamiento u otra operación de E/S.

¿Qué valor de carga es peligroso?

No existe un valor universal. Debe normalizarse por CPU y relacionarse con duración, cola, latencia, errores y tipo de trabajo.

¿Qué valor de los tres es más importante?

Los tres aportan contexto. El primero muestra cambios recientes; los otros dos ayudan a interpretar tendencia y duración.

¿Cómo sé cuántas CPU tiene el servidor?

Puede utilizarse nproc o revisar lscpu.

¿Cómo detecto procesos bloqueados?

Puede utilizarse ps para localizar procesos en estado D y relacionarlos con vmstat e iostat.

¿Una carga alta obliga a reiniciar?

No. Primero debe identificarse la causa. Reiniciar puede ocultar evidencia y repetir el problema más tarde.

¿La carga baja garantiza que la web funciona bien?

No. Puede existir lentitud por base de datos, red, APIs externas, locks o límites internos de workers.

¿Cómo se interpreta la carga en una máquina virtual?

Además del número de vCPU deben revisarse tiempo robado, sobreasignación del host y latencia del almacenamiento compartido.

¿Cada cuánto conviene revisar la carga?

Debe monitorizarse de forma continua en servicios críticos y analizarse cuando se superan umbrales o cambia la calidad del servicio.

Conclusión

Interpretar correctamente la carga de un servidor Linux requiere abandonar la idea de que el load average es un porcentaje de CPU.

Los tres valores indican cuántas tareas intentan avanzar durante diferentes intervalos. Su significado depende del número de CPU, de la existencia de procesos ejecutables o bloqueados y del tipo de recurso que limita el sistema.

Una carga alta no demuestra por sí sola saturación de CPU, y una carga baja no garantiza buen rendimiento.

El diagnóstico debe relacionar carga con cola de ejecución, estados de procesos, iowait, almacenamiento, swap, presión de recursos, virtualización, base de datos, workers y experiencia real del servicio.

Las herramientas básicas —uptime, top, vmstat, sar, ps, pidstat e iostat— permiten construir una explicación sólida cuando se utilizan de forma conjunta.

La línea base y el histórico son esenciales. El mismo valor puede ser normal durante una copia nocturna y crítico durante una campaña o evaluación online.

La actuación correcta no consiste en reducir el número de carga a cualquier precio, sino en eliminar la espera que afecta al servicio y conservar suficiente margen para picos, mantenimiento y crecimiento.

ESTUDIO METADATOS desarrolla programas de formación online orientados a comprender y aplicar tecnología en entornos profesionales reales. Puedes consultar sus programas de formación tecnológica para profundizar en Linux, administración de sistemas, rendimiento, infraestructura digital y continuidad operativa.