Как запустить программу только с одним ядром процессора?

Я пытаюсь запустить кучу скриптов, связанных с игровым сервером в Terminator. Единственная проблема заключается в том, что когда я это делаю, Terminator обнаруживает все ядра моего процессора и лаги ПК. Есть ли способ запустить его, но обмануть его, думая, что у меня только 1 ядро ​​процессора?

27
задан 25 April 2018 в 12:14

2 ответа

Это не terminator, который делает "распространение" на всем ЦП данного процесса. Сам Linux (ядро) делает это. Задача (процесс), как планируют, как доступная будет работать на всех центральных процессорах значениями по умолчанию; если это использует потоки, это может использование больше чем один ЦП за один раз.

Для ограничения процесса определенным ЦП Вы используете команду taskset.

taskset --cpu-list 1,2 my_command 

, которую Эта команда вынуждает my_command выполнить только на центральных процессорах № 1 или № 2.

Для узнавания больше, тип man taskset или поиск "привязки ЦП Linux" (сначала совершает нападки здесь ).

42
ответ дан 25 April 2018 в 12:14

Хотя другой ответ уже дал литеральный ответ, я исследовал бы возможность, это не делается правильный путь. Вместо этого необходимо выполнить сценарий, который Вы не хотите замедлять компьютер (такой как не интерактивные сценарии) использование эти nice команда.

, Чтобы сделать это просто снабжает префиксом команду, которую Вы хотите выполнить с хорошим, например: nice command_to_run Это заставит программу быть de-prioritized ниже других задач и не замедлит Вашу машину. Я часто использую эту технику при выполнении длинной компиляции, которая иначе замедлила бы мой ПК к проверке, это имеет преимущество разрешения программы использовать все ядра, когда машина не занята, но быстро остановит его с помощью них при выполнении чего-то еще.

5
ответ дан 25 April 2018 в 12:14

Другие вопросы по тегам:

Похожие вопросы: