Ограничить использование ядер процессора приложением

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

Если приложение планируется всегда запускать с заданными ограничениями, можно создать cmd файл который будет запускать его с нужными параметрами.

start /affinity 1 Путь_к приложению

Параметр в котором передаются номера ядер, должен быть шестнадцатеричным числом и формироваться в зависимости от количества ядер в процессоре, в данном примере их 8.

Сначала формируем двоичное число, по количеству знаков соответствующее числу ядер - 00000000. Цифры соответствуют ядрам в обратную сторону. То есть, если нужно задействовать только нулевое ядро, заменяем последний ноль на 1 - 00000001. Нулевое и второе, соответственно 00000101, и так далее.

В полученном двоичном числе 00000101 передние нули не имеют никакого значения, отсекаем их, получаем 101. Теперь нужно перевести его в шестнадцатеричное. Это можно сделать например обычным калькулятором в режиме программирования. Получаем 101= 5. Теперь запускаем блокнот с использованием только нулевого и второго ядра:

start /affinity 5 C:\windows\notepad.exe

Author: admin