Hasta hace poco, pensaba que el promedio de carga (como se muestra, por ejemplo, en la parte superior) era un promedio móvil en los n últimos valores del número de procesos en estado "ejecutable" o "en ejecución". Y n habría sido definido por la "longitud" del promedio móvil: dado que el algoritmo para calcular el promedio de carga parece activarse cada 5 segundos, n habría sido 12 para el promedio de carga de 1 min, 12x5 para el promedio de carga de 5 min y 12x15 para el promedio de carga de 15 min.
Pero luego leí este artículo: http://www.linuxjournal.com/article/9001 . El artículo es bastante antiguo, pero el mismo algoritmo se implementa hoy en el kernel de Linux. El promedio de carga no es un promedio móvil, sino un algoritmo para el que no sé un nombre. De todos modos, hice una comparación entre el algoritmo del kernel de Linux y un promedio móvil para una carga periódica imaginaria:
.
Hay una gran diferencia
Finalmente mis preguntas son:
- ¿Por qué esta implementación se ha elegido en comparación con un promedio móvil real, que tiene un significado real para cualquiera?
- Por qué todo el mundo habla del "promedio de carga de 1 minuto" ya que el algoritmo tiene en cuenta mucho más que el último minuto. (matemáticamente, todas las medidas desde el arranque; en la práctica, teniendo en cuenta el error de redondeo, aún muchas medidas)
fuente
Respuestas:
Esta diferencia se remonta al Berkeley Unix original y se debe al hecho de que el núcleo no puede mantener un promedio móvil; necesitaría retener una gran cantidad de lecturas pasadas para hacerlo, y especialmente en los viejos tiempos simplemente no había memoria de sobra para ello. En cambio, el algoritmo utilizado tiene la ventaja de que todo lo que necesita mantener el núcleo es el resultado del cálculo anterior.
Tenga en cuenta que el algoritmo estaba un poco más cerca de la verdad cuando las velocidades de la computadora y los ciclos de reloj correspondientes se midieron en decenas de MHz en lugar de GHz; Hay mucho más tiempo para que sigan las discrepancias en estos días.
fuente
uptime
yw
, afirmó; tenías que mirar las fuentes del núcleo para descubrir que en realidad no era cierto.1min/5min/15min
no tienen sentido. Determinan el tiempo después del cual la influencia de la carga actual cae en algún factor fijo (probablemente e = 2.71 ... o tal vez 2). Solo pruébalo.