Qué es Load Average en linux, explicado por un sysadmin.
Herramientas y comandos propietarios de sistemas basados en Unix, nos muestran el «Load Average», conocido en nuestro idioma materno como «promedio de carga».
El load average en Linux, son los promedios de carga del sistema que nos muestra la demanda de subprocesos (tareas) que se están ejecutando, y los que esperan. La gran mayoría de herramientas y comandos imprimen tres valores de promedios.
- (1) – Ultimo minuto.
- (5) – Últimos cinco minutos.
- (15) – Últimos quince minutos.
Pero ojo!!!, estos tres números (promedios de carga) vinculados a 1, 5 y 15 minutos, realmente no son promedios, y tampoco son 1, 5 y 15 minutos exactos. Son las constantes usadas en una ecuación, que calcula las sumas de valores que se van alterando cada cinco segundos. La verdad es, que el load average de 1, 5, y 15 minutos no es real, son muchos más.
Explicar la ecuación es largo y complejo, si tienes esa inquietud puedes revisar este articulo.
Por ejemplo, si tenemos un sistema con una carga 0 (cero) e iniciamos una tarea en bucle que requiera de procesador, se supone que pasado un minuto el promedio de carga sería 1 (uno), pues no, no es uno, depende en gran manera del tipo de tarea pero oscilará entre 0.3 y 0.6.
Esto tiene su explicación por dos motivos, el primero y más importante es por el tipo de calculo ecuacional, el segundo es, porque antes los sistemas basados en Unix solo calculaban los procesos a la espera de CPU, Linux también cuenta los procesos que esperan a otros procesos, por ejemplo, los que permanecen a la espera de leer o escribir en el disco.
Es algo normal que a veces nos encontremos valores que no tienen ningún sentido, podemos tener la carga con un valor 0.1, y de repente nos encontramos con 3. Como te dije antes, son promedios que a veces se alargan en el tiempo.
Si tu sistema tiene múltiples CPU o una CPU de varios núcleos. El promedio de carga funciona de manera diferente. Por ejemplo, si tienes un promedio de 2 en un sistema con una sola CPU, esto significa que tu sistema se sobrecargó en un 100%, osea, un proceso estaba usando la CPU en exclusica mientras otro proceso esperaba.
En un sistema con dos CPU, esto sería un uso completo: dos procesos diferentes usaban las dos CPU durante todo el tiempo. En un sistema con cuatro CPU, dos procesos utilizaban dos CPU, mientras que las dos restantes permanecen a la espera.
Como anécdota te puedo decir, que el otro dia haciendo un backup de un sitio web pesado (75Gb), al comprimir… el load average se disparó 12 (con un Xeon E5-2670). Lo curioso es que pasados 3 minutos de terminar la compresión el primer valor aun lo teníamos en 11.
Como ver el Load Average
Uff, buena pregunta. La gran mayoría de herramientas ofrecen este dato, pero tranquilo no es necesario que instales ninguna herramienta ajena para obtener un dato que a título orientativo es perfecto.
Si hablamos de comandos básicos tenemos «uptime» y «w». Vemos unos ejemplos:
uptime
salida…
sololinux ~ # uptime
11:08:00 up 3:39, 1 user, load average: 0,65, 0,63, 0,64
w
salida…
sololinux ~ # w
11:10:03 up 3:41, 1 user, load average: 0,56, 0,67, 0,65
USUARIO TTY DE LOGIN@ IDLE JCPU PCPU WHAT
sololinux tty7 :0 07:35 3:41m 5:01 0.24s /sbin/upstart –
Como aplicaciones de monitoreo básicas nos encontramos con las archiconocidas Top y Htop.
top
imagen de ejemplo…
Load Average en Top
Htop es una aplicación externa, pero viene incluida en todos los repositorios oficiales de las distros linux (recomendada). Su instalación es simple…
Ubuntu, Debian, Linux Mint, y derivados:
sudo apt install htop
CentOS, RHEL, Fedora, y derivados:
sudo yum install htop sudo dnf install htop
Arch Linux, Manjaro, y derivados:
sudo pacman -S htop
Open Suse, Suse, y derivados:
sudo zypper install htop
Ejecutamos htop.
htop
ejemplo…
Load average en Htop
Conclusión final
Es importante saber cuántas CPU tiene tu maquina. Un promedio de carga de 5 indica que un sistema está sobrecargado masivamente, pero si cuentas con 6 cpu, tu sistema es correcto.
Es útil en servidores y otros sistemas empresariales, para detectar posibles errores. Aun así, no son valores definitivos, pero por lo menos orientativos.
Canales de Telegram: Canal SoloLinux – Canal SoloWordpress
Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.
Entiendo tu explicación, es la misma que hace todo el mundo, pero a mi los datos no me cuadran.
Tengo varias instancais EC2 con 16 núcleos y el load avarage se va a más de 100 sin tener ningún problema, de hecho 100 es liviano, a veces está arriba de 200.
Umm… estás seguro de que ofrece datos de 100 o 200?. Lo dudo porque un servidor jamás hubiera llegado a esos valores, simplemente hubiera caído.
¿Cómo revisas la carga?, no confundas el load average con las gráficas de uso de cpu que ofrecen esas instancias, no es lo mismo.
Además no estás midiendo un servidor, sino… muchos.
Tengo un i7 de 4 núcleos y al descomprimir un rar de gran tamaño en un disco externo el load average ha llegado hasta 15… ¿eso cómo se come?