nr_running () - это функция, которая возвращает текущую сумму запущенных процессов на всех онлайн-процессорах. Я не уверен, что вы подразумеваете под максимально допустимым? Если один процесс выполняется на процессоре, теоретически все остальные процессы могут находиться в состоянии runnable
. На этом нет кепки как таковой. (Существует ограничение на максимальное количество процессов в системе. Хотя оно было 512 в старых ядрах Linux. Но определенно намного больше в последних)
Если вам интересно узнать о загрузке процессора, я бы посоветовал вам прочитать эту статью , а также загрузить вычислительные функции внутри ядра, такие как calc_load () и другие. в sched.c
Очередь выполнения процессора можно просмотреть с помощью команд, как здесь
Как найти длину очереди процессора в linux
Также узнайте больше о очередях здесь
http://www.ibm.com/developerworks/linux/library/l-scheduler/
Надеюсь, это поможет вам оценить нагрузку на процессор.