Я пытаюсь использовать набор задач для назначения некоторых процессов конкретному процессору. Когда я запускаю набор задач, кажется, что команда сработала, так как я получаю ответ, в котором указывается, какая новая привязка процесса установлена.
Однако, когда я отслеживаю верхний вывод (процесс, которому я пытаюсь назначить процессор, выполняется с высоким процентом процессора), я вижу, что процесс все еще переключается между процессорами, поэтому похоже, что набор задач не работает.
При поиске в Интернете похожих проблем я вижу сообщение на сайте Red Hat https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_MRG/1.1/html/Realtime_Tuning_Guide/sect-Realtime_Tuning_Guide-Realtime_Specific_Tuning-Non_Uniform_Memtml_Access.
Это означает, что набор задач не будет работать в системах с поддержкой numa. Так ли это? Мне не удалось узнать об этом больше нигде.
Я использую команду набора задач:
taskset -pc 1-2 16723 текущий список соответствия pid 16723: 0-7 новый список соответствия pid 16723: 1,2
Я также пробовал:
набор задач -p 0x00000001 16723
Версия ОС:
Описание: Ubuntu 12.04.1 LTS Выпуск: 12.04
Версия ядра: Linux hadoop 3.2.0-29-generic # 46-Ubuntu SMP Пт 27 июля 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU / Linux
Прежде чем я посмотрю на использование cgroups, я мог подумать, что набор задач будет работать, по крайней мере, чтобы назначить сродство cpu для процесса?
Спасибо,
Также, чтобы подтвердить, что numa не отключена на моем хосте From http://martincarstenbach.wordpress.com/2012/04/27/little-things-i-didnt-know-difference-between-_enable_numa_support-and-numactl/
подробнее / proc / cmdline
BOOT_IMAGE = / boot / vmlinuz-3.2.0-29-generic root = UUID = 3221e122-b2fb-48b7-b761-16c57ef51f9a ro тихий всплеск vt.handoff = 7
Подтверждение того, что это на физическом хосте.
запустите команду "numastat" - если ваша система numa, вы должны увидеть это в результатах. Как вы и подозреваете - если ваша система - numa, используйте numactl для настройки вашего процесса для работы в диапазоне процессоров.