суббота, 24 мая 2008 г.

Смена CPU Affinity - привязки процесса к процессорам в SMP-системе

Давеча этот вопрос был задан, но ответ не сразу нашелся даже в google.
Суть его - как заставить процесс использовать не все процессоры, а только определенные? Для этого в SMP существует понятие "CPU Affinity Mask".
Для этого существует утилита taskset, входящая либо в пакет util-linux, либо schedutil.

taskset 0x00000001 command

заставит команду использовать только 1-й процессор системы

Вместо битовой маски можно использовать и просто список процессоров, а используя ключ -p - менять маску для уже запущенных процессов:
taskset -c 0,3 -p 12345

Комментариев нет:

Отправить комментарий