2013-10-03 6 views
3

У меня есть один запрос на задачу swapper (задача бездействия) в Linux. У меня есть система с 16 ядрами процессора. Используя taskstats, я мог понять, что задача swapper запущена на ядре 0. У меня создается впечатление, что для каждого ядра ЦП требуется выполнение задачи swapper, когда нет других запущенных задач для этого ЦП. Если это правда, то почему задача swapper показывается, что она работает только на процессоре cpu0, и если это неправильно, то какая остальная часть процессорных ядер делает, когда нет выполняемых задач?Задача Swapper на нескольких ядрах процессора

Ждем вас к помощи. Благодарю.

+0

Зачем вам это нужно? I% t - это бизнес ядра! –

+0

Меня волнует, потому что он полезен в одном из моих инструментов проекта. У меня есть два способа узнать время простоя любого ядра процессора. 1) Определите тайминги задачи swapper, выполняемые на каждом ядре через taskstats. 2) Read/proc/stat . Я выбрал первый, поскольку taskstats уже реализован в моем проекте, а второй вариант - накладные расходы. – tshah06

ответ

1

Задача простаивающих задач, как вы говорите, запускать, когда больше ничего не нужно запускать, поэтому у процессора не заканчиваются инструкции.

Таким образом, это означает, что в системе с одним сердечником процесс простоя гарантирует, что процессор всегда имеет что-то делать, поэтому он не останавливается.

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

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

+0

Спасибо за ответ. 1) Есть ли способ узнать, как долго определенное ядро ​​было отключено? Является ли ядро ​​для хранения данных такими данными где-то для чтения пользователями? 2) Как я хотел бы иметь детальное понимание управления ядром многоядерной системы, есть ли ссылки/ссылки, которые вы можете предложить? – tshah06

+1

1) Я не знаю. 2) То, что вы хотите знать, - это архитектура и даже процессор. Поэтому я думаю, что единственное место, где вы найдете актуальную информацию, находится в источнике ядра. – jbr

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