Как назначить один процессор одному процессу?

Как назначить один ЦП одному процессу, чтобы никакой другой процесс не мог использовать этот ЦП, пока процесс с этим PID выполняется на этом ЦП?

3
задан 4 January 2013 в 22:43

1 ответ

Из man taskset:

taskset используется для установки или извлечения привязки к ЦП запущенного процесса по заданному PID или для запуска новой КОМАНДЫ с указанным ЦП. сродства. Сродство к процессору - это свойство планировщика, которое «связывает» процесс с заданным набором процессоров в системе. Планировщик Linux будет учитывать заданную привязку к процессору, и процесс не будет выполняться на других процессорах. Обратите внимание, что планировщик Linux также поддерживает естественную привязку к процессору: планировщик пытается сохранить процессы на одном и том же процессоре настолько долго, насколько это практически возможно из соображений производительности. Поэтому форсирование определенного сродства ЦП полезно только в определенных приложениях.

Хотя это гарантирует, что процесс будет выполняться только на определенном ЦП (или на наборе ЦП), настройка соответствия не гарантирует, что никакие другие процессы не будут выполняться на этих ЦП. Я думаю, что для достижения этого вы можете изменить правильность (или хороший уровень ) процесса до его самого низкого значения (1) - подробности см. В man nice и man renice.

Установка наименьшего приятного уровня гарантирует, что процесс не передаст ЦП другой задаче во время работы - однако гарантия не равна 100% (например, если у вас есть другой процесс с таким же приоритетом в система, оба процесса могут быть запланированы для совместного использования процессора)

0
ответ дан 4 January 2013 в 22:43

Другие вопросы по тегам:

Похожие вопросы: