LINUX.ORG.RU

История изменений

Исправление alman, (текущая версия) :

А его точно нужно считать? Разве нельзя посмотреть /proc/loadavg?

Вот этот пример вообще непонятен. Откуда код? На первый взгляд он бессмысленный.

Я думаю что считать надо как соотношение времени простоя относительно общего времени. Например, число тактов в простое за 10 сек, за минуту, за пять минут. По каждому процессорному ядру в отдельности.

Т.е. перед уходом в halt читать счётчик тактов, а в момент любого прерывания читать этот счётчик заново и вычитать из него предыдущее значение. Таким образом станет известно сколько тактов процессор «отдыхал». А затем по таймеру считать соотношение простоя к общему времени. Разумеется, все вычисления в тактах.

Число задач не коррелирует с загрузкой процессора. Все задачи могут ждать ввода/вывода и не грузить процессор. Что, кстати, является вполне нормальной ситуацией в подавляющем большинстве применений. Иначе ноутбуки бы разряжались в 10 раз быстрее.

Исходная версия alman, :

А его точно нужно считать? Разве нельзя посмотреть /proc/loadavg?

Вот это пример вообще непонятен. Откуда код? На первый взгляд он бессмысленный.

Я думаю что считать надо как соотношение времени простоя относительно общего времени. Например, число тактов в простое за 10 сек, за минуту, за пять минут. По каждому процессорному ядру в отдельности.

Т.е. перед уходом в halt читать счётчик тактов, а в момент любого прерывания читать этот счётчик заново и вычитать из предыдущего значение. Таким образом станет известно сколько тактов процессор «отдыхал». А затем по таймеру считать соотношение простоя к общему времени. Разумеется, все вычисления тактах.

А число задач не коррелирует с загрузкой процессора. Все задачи могут ждать ввода/вывода и не грузить процессор. Что, кстати, является вполне нормальной ситуацией в подавляющем большинстве применений.