Як зробити, щоб програма використовувала для роботи певний ядро ​​процесора

Розподіл ядер процесора для виконання певної програми може виявитися корисним, якщо у на Вашому комп'ютері присутній ресурсномістке додаток, яке не можна вимкнути, і яке при цьому заважає нормальній роботі за комп'ютером. Наприклад, виділивши антивірусу Касперського одне ядро ​​процесора для роботи, ми можемо, нехай незначно, але прискорити гру і FPS в ній. З іншого боку, якщо у вас комп'ютер сильно гальмує, це не той, метод, який Вам допоможе. Потрібно шукати причини, см: Гальмує комп'ютер

Призначення логічних процесорів певною програмою в Windows 7 і Windows 8

Зазначені функції працюють в Windows 7, Windows 8 і Windows Vista. Про останню я не кажу, так як її мало хто використовує у нас в країні.

Запустіть Диспетчер Завдань Windows і:

  • У Windows 7 відкрийте вкладку "Процеси"
  • У Windows 8 відкрийте "Подробности"

Клацніть правою клавішею миші по питанню, що вас процесу і виберіть в контекстному меню пункт "Поставити схожість". З'явиться вікно "Відповідність процесорів", в якому Ви можете вказати, якими ядрами процесора (або, вірніше, логічними процесорами) програмі дозволено користуватися.

Вибір логічних процесорів для виконання програми

Ось і все, тепер процес використовує тільки ті логічні процесори, які йому дозволили. Правда відбувається це рівно до наступного його запуску.

Як запустити програму на певному ядрі процесора (логічному процесорі)

У Windows 8 і Windows 7 є також можливість запустити додаток так, щоб відразу після запуску вона використала певні логічні процесори. Для того, щоб зробити це, запуск програми потрібно здійснювати із зазначенням відповідності в параметрах. наприклад:

c: \ windows \ system32 \ cmd.exe / C start / affinity 1 software.exe

У цьому прикладі буде запущено програму software.exe з використанням 0-го (ЦП 0) логічного процесора. Тобто цифра після affinity вказує номер логічного процесора + 1. Цю ж команду Ви можете записати в ярлик програми, щоб воно завжди запускалося з використанням певного логічного процесора. На жаль, мені не вдалося знайти інформації, як передати параметр таким чином, щоб додаток використовував не один логічний процесор, а відразу декілька.

UPD: знайшов питання запуску програми на декількох логічних процесорах за допомогою параметра affinity. Вказуємо маску в шістнадцятковому форматі, наприклад потрібно використовувати процесори 1, 3, 5, 7, відповідно, це буде 10101010 або 0xAA, передаємо в вигляді / affinity 0xAA.