Как Linux обновлять '/ proc / loadavg' периодически? - PullRequest
0 голосов
/ 03 декабря 2018

В исходном коде Linux я обнаружил, что get_avenrun() будет с именем в fs/proc/loadavg.c, чтобы получить средние значения загрузки за последние 1, 5 и 15 минут.Но в get_avenrun() определении он просто назначил avenrun[i] своему первому параметру.Это означает, что вызов этой функции периодически не может обновить /proc/loadavg.

В kernal/sched/loadavg.c есть только 2 места, где будет изменен глобальный unsigned long avenrun[3];,

  • static void calc_global_nohz(void)
  • void calc_global_load(unsigned long ticks)

Мне просто интересно, какой внутренний процесс / поток периодически вызывает эти 2 функции (или есть другие способы периодически обновлять avenrun[3]), и в чем разница между calc_global_nohz() и calc_global_load().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...