Promedios de carga en Ubuntu

Muchas veces revisas tu servidor Ubuntu y ves promedios de carga altos.

La primera cifra corresponde a la media de 1 minuto, la segunda a la media de 5 minutos y la tercera a la media de 15 minutos.

~/backup# tiempo de actividad
11:09:31 arriba 40 días, 17:38, 2 usuarios, carga media: 1.01, 0.66, 0.47
~/backup# cat /proc/loadavg
0.40 0.54 0.44 1/255 30135

Algunas interpretaciones:

  • Si los promedios son 0,0, entonces su sistema está inactivo.
  • Si la media de 1 minuto es superior a las medias de 5 ó 15 minutos, entonces la carga está aumentando.
  • Si la media de 1 minuto es inferior a las medias de 5 ó 15 minutos, la carga está disminuyendo.
  • Si son superiores al número de CPU, puede que tengas un problema de rendimiento (depende).

Lo que significa en Linux o Ubuntu es lo siguiente:

En Linux, los promedios de carga son (o intentan ser) "medias de carga del sistema", para el sistema en su conjunto, mide el número de hilos que están trabajando y esperando para trabajar (CPU, disco, bloqueos ininterrumpidos). Dicho de otro modo, mide el número de hilos que no están completamente inactivos. Ventaja: incluye la demanda de diferentes recursos.

No es lo mismo que otros sistemas operativos:

En otros sistemas operativos, los promedios de carga son "Promedios de carga de la CPU", que mide el número de hilos en ejecución de la CPU + hilos ejecutables de la CPU. Ventaja: puede ser más fácil de entender y razonar (sólo para CPU).

Por eso es importante saber que en Linux no es sólo la CPU la que hace subir los promedios de carga.

Algunas herramientas recomendadas para solucionar problemas de promedios de carga elevados:

  • utilización por CPUpor ejemplo, utilizando mpstat -P ALL 1
  • utilización de la CPU por proceso: eg, toppidstat 1etc.
  • latencia de la cola de ejecución por hilo (programador)por ejemplo, en /proc/PID/schedstats, delaystats, programa perf
  • Latencia de la cola de ejecución de la CPUpor ejemplo, en /proc/schedstat, programa perfmi runqlat herramienta bcc.
  • Longitud de la cola de ejecución de la CPUpor ejemplo, utilizando vmstat 1 y la columna 'r', o mi runqlen herramienta bcc.

Aquí está el herramienta bcc mencionado.

Esta información procede de http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html

También puede utilizar este comando para depurar

ps -e v

Que tiene estos estados

estado El estado viene dado por una secuencia de caracteres, por ejemplo, "RWNA". El primer carácter indica el estado de ejecución del proceso:
D Marca un proceso en espera de disco (u otra espera ininterrumpida de corta duración).
I Marca un proceso que está inactivo (durmiendo más de 20 segundos).
L Marca un proceso que está esperando adquirir un bloqueo.
R Marca un proceso ejecutable.
S Marca un proceso que está durmiendo durante menos de 20 segundos.
T Marca un proceso detenido.
W Marca un hilo de interrupción inactivo.
Z Marca un proceso muerto (un "zombi").

Comprobación de los procesos de I+D.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *