Расчет загрузки процессора Linux - разница между /proc/loadavg и /proc/stat
Я хочу рассчитать процент загрузки процессора в системе Linux. Поскольку пользователь / среда не позволяет запускать исполняемые файлы, я не могу использовать top
и т. д., но полагаться на "чтение файла", как /proc/stat
,
В настоящее время я вычисляю загрузку процессора из / proc / stat, как описано здесь: https://github.com/Leo-G/DevopsWiki/wiki/How-Linux-CPU-Usage-Time-and-Percentage-is-calculated
Теперь я хотел проверить значения, полученные из расчета. Таким образом, я использовал приведенную выше формулу и read / proc / stat дважды с задержкой 60 секунд, чтобы получить среднее использование за 1 минуту. В расчет выкладывается:~1.492537%
Затем я проверил / proc / loadavg, который выглядит так:3.27 4.11 4.66 2/1015 110208
Машина имеет два процессора с 4 ядрами в каждом. Таким образом, я понимаю, что loadavg может максимум на 8 и, следовательно, 3.27 отражает что-то вроде ~40% в использовании.
Вопрос: Почему разница между рассчитанным использованием из / proc / stat и значениями из / proc / loadavg настолько велика?