2012-03-13 5 views
0

Я выполняю некоторые задачи, связанные с производительностью процессора. И при этом я понял, что загрузка процессора сильно зависит от очереди процессора (очередь ожидания).Как найти максимальную длину очереди процессора?

Есть ли способ определить максимальную длину очереди процессоров? Я хочу знать, сколько процессов может находиться в состоянии ожидания в одно мгновение.

Я использую процессор Intel i5 с средой Unix.

+1

«Загрузка процессора зависит от очереди процессора», ну, вроде. Предполагая, что «очередь процессора» относится к набору готовых потоков, которые не выполняются, общая загрузка ЦП равна 100%, если количество очередей больше 0. Обратите внимание, что готовые потоки обычно не называются «ожидающими», хотя они ждут CPU. «Ожидание» обычно понимается как «не управляемый», т. Е. ожидая ресурса без ЦП, такого как IO или объект синхронизации. –

+0

О! Извините за ошибку typo. Я действительно хочу знать максимально допустимые «запущенные» процессы в один момент. Можно ли найти? – bobby

+0

Простой способ попробовать. Создавайте петлевые потоки с низким приоритетом, пока что-то не сломается (сохраните вашу работу :). –

ответ

0

nr_running() - это функция, которая возвращает текущую сумму выполняемых процессов для всех онлайн-процессоров. Я не уверен, что вы подразумеваете под максимальным допустимым? Если один процессор работает на процессоре, теоретически все остальные процессы могут находиться в состоянии runnable. В этом нет предела. (Тем не менее, существует ограничение на максимальное количество процессов в системе, но это было 512 в более старых ядрах linux. Но, безусловно, намного больше в последних версиях)

Если вам интересно узнать о загрузке процессора, я бы предлагаем Вам пройти this article, а также загружать вычисления функций внутри ядра, такие как calc_load() и другие в sched.c

Processor Queue Run можно исследовать с помощью команд, как здесь

How to find the processor queue length in linux

также узнать больше о runqueues здесь

http://www.ibm.com/developerworks/linux/library/l-scheduler/

Надежда это дает вам фору в оценке загрузки процессора.

Смежные вопросы