Автор Тема: [Решено] Выделение ядра для выполнения одного процесса  (Прочитано 2320 раз)

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Такой вопрос. Как можно выделить ядро или несколько для выполнения конкретной задачи. Без виртуальных машин. Для примера сборка ПО увеличивает загрузку ЦП до 100% и делать чего-то еще сложно, ну и если загрузка всех ядер 100% то nice тут не отделаешься, а вот если есть способ отдать под задачу например 1 или 3 ядра это было бы здорово. Может кто знает как так сделать?
« Последнее редактирование: 23.02.2016 10:35:52 от Koi »

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 566
Оно?
taskset
Usage: taskset [options] [mask | cpu-list] [pid|cmd [args...]]


Show or change the CPU affinity of a process.

Options:
 -a, --all-tasks         operate on all the tasks (threads) for a given pid
 -p, --pid               operate on existing given pid
 -c, --cpu-list          display and specify cpus in list format
 -h, --help              display this help
 -V, --version           output version information

The default behavior is to run a new command:
    taskset 03 sshd -b 1024
You can retrieve the mask of an existing task:
    taskset -p 700
Or set it:
    taskset -p 03 700
List format uses a comma-separated list instead of a mask:
    taskset -pc 0,3,7-11 700
Ranges in list format can take a stride argument:
    e.g. 0-31:2 is equivalent to mask 0x55555555

Для более детальной информации смотрите taskset(1).

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Да спасибо. :-)
Еще можно в htop на процессе клавишу "a" нажать и выбрать, но taskset для скрипта лучше подходит.
« Последнее редактирование: 23.02.2016 10:49:09 от Koi »