Установка привязки процессора к процессу с самого начала на linux
Я хочу установить сродство процессора процесса в Linux, когда он запускается.
Существуют такие методы, как sched_setaffinity и taskset, но они нуждаются в processid процесса. Они могут вызвать потенциальную миграцию, как процесс был запущен на ядре, но после использования sched_setaffinity / taskset они были перенесены на другое ядро.
Что я хочу сделать, это начать новый процесс с определенного ядра с самого начала.
1 ответ
Решение
taskset
может использоваться как для установки соответствия запущенного процесса, так и для запуска процесса с определенной привязкой, см.
- Как запустить ваше приложение на конкретном процессоре в Linux (сродство к процессору)?,
- справочная страница для набора задач
конспект
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