Средняя загрузка означает, сколько процессов ожидает в очереди. Это не только метрика ЦП, и она не показывает загрузку ЦП в%. Средняя нагрузка показывает приблизительную загрузку системы.
См. Средняя нагрузка UNIX для лучшего понимания.
В этом документе:
- The “load” is not the utilization but the total queue length.
- They are point samples of three different time series.
- They are exponentially-damped moving averages.
- They are in the wrong order to represent trend information.
Для расчета простоя процессора в текущее время используйте /proc/stat
(, взятый из здесь):
average idle percentage X % = ( idle * 100 ) / ( user + nice + system + idle + iowait + irq + softirq )
Таким образом, для расчета загрузки ЦП используйте:
grep 'cpu ' /proc/stat | awk '{usage=100-($5*100)/($2+$3+$4+$5+$6+$7+$8)} END {print usage}'
Расчет загрузки ЦП не такая простая задача, как кажется. См. аналогичную тему
Некоторые выводы:
если 1-минутная нагрузка больше чем 5/10-минутная нагрузка -> нагрузка на систему растет
если 1-минутная нагрузка меньше , чем 5/10-минутная нагрузка -> нагрузка на систему снижается
И прочитайте замечательную статью:Средние значения нагрузки Linux :Решение загадки
Можешь попробоватьhttps://github.com/larkery/zsh-histdb. Цитируя его Readme:
It improves on the normal history by storing, for each history command:
- The start and stop times of the command
- The working directory where the command was run
- The hostname of the machine
- A unique per-host session ID, so history from several sessions is not confused
- The exit status of the command