Назад | Перейти на главную страницу

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

У меня есть программа, которая работает на моем сервере, я хочу запустить несколько экземпляров одной и той же программы (это приложение, которое может работать только на одном ядре ..), мне интересно, могу ли я назначить их ядру во время выполнения? используя пакетный скрипт или что-то в этом роде? Я запускаю Windows Server 2012.

Подождите секунду ... вы задали вопрос и приняли ответ «не делайте этого».

На ваш вопрос никто не ответил.

Пожалуйста, не поймите меня неправильно. Ни в коем случае не обижайтесь на других респондентов, и я согласен с ними, что вы, вероятно, не думаете об этом до конца, если вам нужно задать этот вопрос в первую очередь ... но вы задали конкретный вопрос тем не менее.

Вот и ответ.

C:\Windows\system32>start /affinity 1 notepad.exe

Это запустит экземпляр процесса Notepad.exe, привязанный только к первому процессору. Вы можете смешивать и сочетать процессоры (ядра), если хотите, но вы спросили, как запустить процесс на одном процессоре.

Вы можете убедиться, что команда сработала, проверив сходство результирующих процессов в диспетчере задач или обозревателе процессов.

В подавляющем большинстве случаев попытка вручную управлять привязками процесса к процессору фактически приведет к общему уменьшенный производительности, чем просто позволяя планировщику процессора ядра разобраться во всем.

Так что, если вы не столкнетесь с некоторыми реальными проблемами производительности, которые можно напрямую отследить до планирования ЦП, вам не стоит об этом думать.