Até recentemente, eu pensava que a média de carga (como mostrado por exemplo na parte superior) era uma média móvel nos n últimos valores do número de processos no estado "executável" ou "em execução". E n teria sido definido pelo "comprimento" da média móvel: como o algoritmo para calcular a média de carga parece disparar a cada 5 s, n teria sido 12 para a média de carga de 1min, 12x5 para a média de carga de 5 min e 12x15 para a média de carga de 15 min.
Mas então eu li este artigo: http://www.linuxjournal.com/article/9001 . O artigo é bastante antigo, mas o mesmo algoritmo é implementado hoje no kernel do Linux. A média de carga não é uma média móvel, mas um algoritmo para o qual não sei um nome. Enfim, fiz uma comparação entre o algoritmo do kernel do Linux e uma média móvel para uma carga periódica imaginária:
.
Há uma enorme diferença.
Finalmente minhas perguntas são:
- Por que essa implementação foi escolhida em comparação com uma verdadeira média móvel, que tem um significado real para alguém?
- Por que todo mundo fala sobre "1 min de carga média", já que muito mais que o último minuto é levado em consideração pelo algoritmo. (matematicamente, toda a medida desde a inicialização; na prática, levando em consideração o erro de arredondamento - ainda há muitas medidas)
fonte
Respostas:
Essa diferença remonta ao Berkeley Unix original e decorre do fato de que o kernel não pode realmente manter uma média móvel; seria necessário reter um grande número de leituras passadas para fazer isso, e especialmente nos velhos tempos, simplesmente não havia memória de sobra para isso. O algoritmo usado tem a vantagem que todo o kernel precisa manter é o resultado do cálculo anterior.
Lembre-se de que o algoritmo estava um pouco mais próximo da verdade quando as velocidades do computador e os ciclos de clock correspondentes foram medidos em dezenas de MHz em vez de GHz; há muito mais tempo para discrepâncias surgirem nos dias de hoje.
fonte
uptime
ew
reivindicaram; você tinha que olhar as fontes do kernel para descobrir que não era verdade.1min/5min/15min
não tem sentido. Eles determinam o tempo após o qual a influência da carga atual cai por algum fator fixo (provavelmente e = 2,71 .. ou talvez 2). Apenas tente.