¿Qué es la carga del sistema?

13

En mi trabajo tenemos un repositorio de datos que ejecuta Ubuntu 12.04.03 CLI y como los estaba revisando esta mañana cuando inicié sesión en lugar de darme la información normal, decía que la información no se podía mostrar porque la carga del sistema es superior a 2 y Me preguntaba qué significaba esto. Acababa de reiniciarlo porque no respondía. ¿Tiene algo que ver con el proceso de inicio y hacer que todo funcione?

Sean G
fuente

Respuestas:

17

Ejecute los comandos topo uptime:

$ uptime
 19:36:03 up 5 days,  9:12,  8 users,  load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days,  9:13,  8 users,  load average: 0.05, 0.16, 0.21

Los promedios de carga indicados aquí son :

/proc/loadavg
          The  first  three  fields  in this file are load average figures
          giving the number of jobs in the run queue (state R) or  waiting
          for disk I/O (state D) averaged over 1, 5, and 15 minutes.  They
          are the same as the load average numbers given by uptime(1)  and
          other  programs. 

Considere mis promedios de carga: 0.05, 0.16, 0.21
eso significa que, en el último minuto, en promedio, 0.05 procesos han estado esperando recursos.

¿Debería preocuparse de que el promedio de carga sea 2? En general, si el promedio de carga es mayor que el número de CPU disponibles, entonces algún proceso tuvo que estar inactivo esperando una ranura de CPU.

Si el promedio de carga es menor que la salida de nproc, no necesita preocuparse.

Ver también: ¿Qué significa cargar promedio en Unix / Linux? Como señala Braiam, los procesos no necesitan estar esperando solo a la CPU: comprender el promedio de carga frente al uso de la CPU

muru
fuente
Eso es muy útil, pero justo después del reinicio, ¿debería estar funcionando tan caliente teniendo en cuenta que no hemos visto esto antes? Está ejecutando el procesador AMD Athlon (tm) 64 X2 Dual Core Processor 4200+ y no ejecuta gráficos ni procesos adicionales.
Sean G
@SeanG podría, dependiendo de qué más se ejecute. Podría ser un evento único. Si esto ocurre repetidamente, algo así como el uso bootchart para ver lo que está pasando arranque duirng.
muru
"Eso significa que, en el último minuto, en promedio, el proceso 0.05 ha estado esperando la CPU". en realidad esto está incompleto, el recurso puede ser cualquier hardware, no solo CPU. Podría ser disco, red, GPU, etc.
Braiam
@Braiam es cierto (hice la declaración demasiado simplificada). Me encontré con este q mientras buscaba en Google, pero no pensé en incluirlo.
muru
Justo después del reinicio, el promedio de carga puede ser alto ya que el sistema acaba de pasar por la secuencia de inicio intensiva. Como se explica en la respuesta, los números tardan un par de minutos en caer a la normalidad. Los trabajos de anacron vencidos pueden prolongar el período.
Emil Jeřábek apoya a Monica el
7

Carga del sistema o promedio de carga del sistema

Es una cola de ejecución, es decir, una cola de procesos que esperan que un recurso (CPU, E / S, etc.) esté disponible.

Considere un solo núcleo cpucomo un solo carril de tráfico con puente y procese como automóviles.

Ahora en esta situación, la carga del sistema es

  • 0.0 - Si no hay tráfico en la carretera.
  • 1.0 -Si el tráfico en la carretera es exactamente la capacidad del puente.
  • Más de 1 : si el tráfico en la carretera es mayor que la capacidad del puente y los automóviles tienen que esperar para pasar por el puente.

Este número no está normalizado de acuerdo con su cpu. En el sistema multiprocesador, la carga 2 significa un 100% de utilización de que estamos utilizando un procesador de doble núcleo, la carga 4 significa una utilización del 100% si estamos utilizando un núcleo de cuatro núcleos.

Puede obtener la carga de su sistema usando

  • uptime
  • cat /proc/loadavg
  • top

    $ tiempo de actividad 22:49:47 hasta 11:47, 4 usuarios, promedio de carga: 2.20, 1.03, 0.82

Aquí los últimos tres números que representan el promedio de carga del sistema durante 1, 5 y 15 minutos respectivamente.

El ejemplo anterior indica que, en promedio, había 2.20 procesos esperando a ser programados en la cola de ejecución medida en el último minuto.

g_p
fuente
Esto no explica cuál es el promedio de carga.
Braiam
lo agregó en la respuesta.
g_p
2

La carga del sistema es relevante para el número de núcleos de la CPU, por ejemplo, si tiene una CPU de cuatro núcleos (4 núcleos), el valor 1 significa que la carga del sistema está en 25% y 4 significa 100%.

Ghassen Telmoudi
fuente
Esto no explica qué es el promedio de carga, y está mal acerca de la relación entre el% de tiempo de CPU y el promedio de carga.
Braiam
0

Si escribe el tiempo de actividad del terminal , verá algo como: promedio de carga y tres columnas de dígitos que son cargas de uno, cinco y quince minutos. Si tiene un procesador de doble núcleo, 2 significa 100% de utilización, 1 significa 50%, etc.

EdiD
fuente
Esto no explica qué es el promedio de carga, y está mal acerca de la relación entre el% de tiempo de CPU y el promedio de carga.
Braiam
1
Si lo hace Desde el tiempo de actividad manual: el promedio de carga de 1 significa que un solo sistema de CPU se carga todo el tiempo, mientras que en un sistema de 4 CPU significa que estuvo inactivo el 75% del tiempo.
EdiD
No hay relación entre la carga de la CPU y el promedio de carga. Revisar otra vez.
Braiam
0

Una carga del sistema de 2.0 no es muy alta. En un sistema multinúcleo, su CPU aún puede estar parcialmente inactiva.

Un promedio de carga es una medida de la sobrecarga de un núcleo de CPU en términos de número de procesos que desean usarlo de una vez.

Lo siguiente supone una CPU de un solo núcleo (subproceso único):

  • 0.0

    La CPU no está haciendo nada en absoluto. Si un proceso comenzara a usar la CPU, entonces sería el único que lo usaría.

  • 1.0

    La CPU está en uso máximo, pero no hay contención entre los procesos para el uso de la CPU. Es decir, solo se está ejecutando un solo proceso, por lo que puede reclamar el 100% del tiempo de CPU para sí mismo. Alternativamente, se están ejecutando múltiples procesos, pero ninguno reclama una CPU del 100%, y su uso combinado de CPU suma hasta el 100%. Todos siguen funcionando tan rápido como lo harían incluso si tuvieran la CPU por sí mismos.

  • Mayor que 1.0

    La CPU está en uso máximo, y hay múltiples procesos que desean usarla simultáneamente, por lo que se ejecutan más lentamente de lo que podrían funcionar si tuvieran un uso exclusivo de la CPU. Por ejemplo, un promedio de carga de 3.0 indica que los procesos se están ejecutando a un tercio de la velocidad que desean ejecutar. Un promedio de carga de 50.0 indica que los procesos se están ejecutando a 1/50 de la velocidad que desean ejecutar, debido a que todos los demás procesos se están ejecutando. Es decir, las cifras superiores a 1.0 indican que la CPU disponible se está dividiendo entre más y más procesos activos.

Tener una CPU de núcleo múltiple no cambia lo que significan las cifras, sino que cambia la forma en que deben interpretarse. Por ejemplo, si tiene una CPU de 4 núcleos, una carga de 1.0 sigue siendo equivalente a un proceso que usa 100% de CPU en un núcleo, pero hay otros tres núcleos. Entonces, en una CPU de 4 núcleos, el punto de máxima eficiencia es 4.0, no 1.0, y el punto en el que todo funciona a 1/3 de eficiencia es 12.0, no 3.0. Para agregar a la complejidad, un solo proceso puede tener más de un hilo cada uno reclamando CPU propia. Por lo tanto, un solo proceso puede usar el 100% de los 4 núcleos si es multiproceso.

thomasrutter
fuente