LINUX.ORG.RU

>>Какие усредненные показатели она возвращает ???

Среднее кол-во активных задач в очереди за 1, 5, 15 мин.

alex_custov ★★★★★
()
Ответ на: комментарий от alex_custov

Только не смейтесь, но я нихера не понимаю, зачем это нужно.

2 ситуации.
10 активных задач за 1 минуту. грузят процессор на 90%
10 активных задач за 1 минуту. грузят процессор на 1%.

А возвращено будет одиноковое значение.

А ведь этот параметр еще и мониторят.
Пожалуйста, поясните, если хватит терпения.

Alphaer ★★
() автор топика
Ответ на: комментарий от Alphaer

> 10 активных задач за 1 минуту. грузят процессор на 1%. Пожалуйста, поясните, если хватит терпения.

если задача грузит CPU на 1% то она большую часть времени или спит или заблокирована в ожидании -- в этот момент она не считается активной.

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

Тогда какой порог загрузки cpu должен быть у задачи, когда она считается активной?

main() { while (1) usleep(1000000); }

нифига не будет грузить процессор.

main() { int x; while (1) x=1; }

загрузит на 50 с гаком. Если не больше.

Оба процесса запущены и в любой момент времени будут в списке задач...

А-а-а-а может, это имеется в виду в очереди в борьбе за CPU ?

первый пример не будет конкурировать за CPU подавляющую часть времени.

Alphaer ★★
() автор топика
Ответ на: комментарий от Alphaer

ну, если так не терпиться, см. исходники ;)

linux/fs/proc/proc_misc.c#loadavg_read_proc. Эта функция использует массив avenrun. Этот массив заполняется постоянно, см. linux/kernel/timer.c#calc_load, далее выходим на calc-active_tasks и nr_active. Далее смотрим linux/kernel/sched.c#nr_active

Активные задачи это по всей видимости задачи, которые могут выполняться (что-то делать), когда шедулер доходит до них в очереди.

alex_custov ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.