У меня есть программа, которая работает на моем сервере, я хочу запустить несколько экземпляров одной и той же программы (это приложение, которое может работать только на одном ядре ..), мне интересно, могу ли я назначить их ядру во время выполнения? используя пакетный скрипт или что-то в этом роде? Я запускаю Windows Server 2012.
Подождите секунду ... вы задали вопрос и приняли ответ «не делайте этого».
На ваш вопрос никто не ответил.
Пожалуйста, не поймите меня неправильно. Ни в коем случае не обижайтесь на других респондентов, и я согласен с ними, что вы, вероятно, не думаете об этом до конца, если вам нужно задать этот вопрос в первую очередь ... но вы задали конкретный вопрос тем не менее.
Вот и ответ.
C:\Windows\system32>start /affinity 1 notepad.exe
Это запустит экземпляр процесса Notepad.exe, привязанный только к первому процессору. Вы можете смешивать и сочетать процессоры (ядра), если хотите, но вы спросили, как запустить процесс на одном процессоре.
Вы можете убедиться, что команда сработала, проверив сходство результирующих процессов в диспетчере задач или обозревателе процессов.
В подавляющем большинстве случаев попытка вручную управлять привязками процесса к процессору фактически приведет к общему уменьшенный производительности, чем просто позволяя планировщику процессора ядра разобраться во всем.
Так что, если вы не столкнетесь с некоторыми реальными проблемами производительности, которые можно напрямую отследить до планирования ЦП, вам не стоит об этом думать.