установка сродства к процессору процесса с самого начала в linux

Я хочу установить привязку к процессору процесса в Linux при его запуске.

Существуют такие методы, как sched_setaffinity и taskset, но им нужен processid процесса. Они могут вызвать потенциальную миграцию, например, процесс был запущен на ядре, но после использования sched_setaffinity / taskset они были перенесены на другое ядро.

Я хочу начать новый процесс на определенном ядре с самого начала.


person ajay saini    schedule 16.03.2013    source источник
comment
Почему ты хочешь это сделать? Часто ядро ​​лучше, чем вы, выбираете ядро ​​для выполнения какой-либо задачи ...   -  person Basile Starynkevitch    schedule 16.03.2013
comment
Я работаю над модулем контрольных точек, который проверяет процесс. Я хочу сохранить информацию о сродстве ЦП для этого процесса и запустить этот процесс с последней контрольной точки с таким же сродством.   -  person ajay saini    schedule 17.03.2013


Ответы (1)


taskset можно использовать как для установки привязки запущенного процесса, так и для запуска процесса с определенной привязкой, см.

Сводка

taskset [options] mask command [arg]...
taskset [options] -p [mask] pid

Приведенная ниже команда запустит браузер Google Chrome в ЦП 1 и 2 (или 0 и 1). Маска - 0 × 00000003, команда - «google-chrome».

taskset 0×00000003 google-chrome
person amdn    schedule 16.03.2013