Jusqu'à récemment, je pensais que la moyenne de charge (comme illustré par exemple en haut) était une moyenne mobile sur les n dernières valeurs du nombre de processus dans l'état "exécutable" ou "en cours d'exécution". Et n aurait été défini par la "longueur" de la moyenne mobile: puisque l'algorithme de calcul de la moyenne de charge semble se déclencher toutes les 5 secondes, n aurait été de 12 pour la moyenne de charge de 1 min, 12x5 pour la moyenne de charge de 5 min et 12x15 pour la moyenne de charge de 15 min.
Mais ensuite j'ai lu cet article: http://www.linuxjournal.com/article/9001 . L'article est assez ancien mais le même algorithme est implémenté aujourd'hui dans le noyau Linux. La moyenne de charge n'est pas une moyenne mobile mais un algorithme dont je ne connais pas le nom. Quoi qu'il en soit, j'ai fait une comparaison entre l'algorithme du noyau Linux et une moyenne mobile pour une charge périodique imaginaire:
.
Il ya une énorme différence.
Enfin mes questions sont:
- Pourquoi cette implémentation a-t-elle été choisie par rapport à une vraie moyenne mobile, qui a un vrai sens pour tout le monde?
- Pourquoi tout le monde parle de "1min de charge moyenne" car bien plus que la dernière minute est prise en compte par l'algorithme. (mathématiquement, toutes les mesures depuis le démarrage; en pratique, en tenant compte de l'erreur d'arrondi - encore beaucoup de mesures)