Більшість ПК з Windows зараз працюють від багатоядерних процесорів, а останні версії Windows, як правило, дуже добре працюють над тим, щоб автоматично розподілити загальну потужність обробки вашого ПК, щоб найкраще вмістити ваші запущені програми та ігри. Але іноді у користувача та Windows можуть бути різні ідеї, коли потрібно приймати рішення про те, як найкраще використовувати потужність процесора ПК, і саме тому досвідчені користувачі можуть вступати та вручну обмежувати певні програми чи процеси певними ядрами процесора, завдяки функції називається Спорідненість процесора . Ось як це зробити.
Що стосується споживчих версій Windows, то можливість користувача вручну налаштувати використання додатком конкретних ядер процесора входить у часовий інтервал Windows XP / 2000, хоча в кожній версії Windows кроки незначно відрізняються. Для кроків і скріншотів ми використовуємо Windows 10, але читачі, що працюють із більш старими версіями Windows, зокрема Windows 7 та Windows 8 / 8.1, повинні мати змогу виконувати основні кроки в умовах незначних відмінностей від інтерфейсу Windows.
Також важливо зауважити, перш ніж продовжувати, що зміна спорідненості процесора для певного процесу чи програми може спричинити проблеми зі стабільністю, і це, ймовірно, погіршить ефективність сучасних багатопотокових програм та ігор. Тому переконайтеся, що спершу експериментуйте з неважливими програмами та даними та переконайтеся, що збережете будь-який відкритий процес роботи чи гри, перш ніж змінювати будь-які налаштування, обговорені тут, оскільки можливі збої програми чи системи.
Чому обмежувати доступ програми до ядер процесора?
Як було сказано вище, більшість користувачів хочуть, щоб Windows автоматично обробляла потужність обробки ПК, переконуючись, що додатки, які можуть використовувати всі ядра, отримають доступ до них. Це, як правило, призводить до кращої продуктивності, тому основне питання полягає в тому, чому користувач хотів би колись обмежити або обмежити певну багатопотокову програму меншою, ніж загальна кількість фізичних та логічних ядер, якими доступний ПК.
На це запитання є два основні відповіді: 1) для забезпечення сумісності та продуктивності із старішим програмним забезпеченням, і 2) запуск інакше високопоточної процесорної свинки, зберігаючи при цьому достатньо ресурсів для одночасного виконання інших завдань.
Почнемо з першої відповіді: сумісність та продуктивність. Деякі програми та ігри Windows були закодовані задовго до того, як багатопотокові та багатоядерні процесори на рівні споживача стали реальністю. Зокрема, творці старих ігор, можливо, ніколи не передбачали, що хтось, хто грає в цю гру, матиме щось більше, ніж ПК з ОС Windows, що працює на одному високочастотному процесорному ядрі. Коли програмне забезпечення цієї епохи стикається з сучасними процесорами, що пакують чотири, шість, вісім, а то й більше ядер, іноді це може спричинити проблеми з продуктивністю або навіть неможливість запустити програму взагалі.
Багато додатків та ігор все ще працюють добре, звичайно, навіть якщо вони працюють від останніх 8-ядерних / 16-потокових монстрових процесорів. Але якщо ви намагаєтеся грати в більш стару гру і у вас виникають проблеми, використання спорідненості процесора для ручного обмеження процесу гри лише одним із багатьох ваших ядер може бути хорошим кроком для усунення несправностей.
Друга відповідь, ймовірно, корисніша для більшості користувачів Windows, і вона стане основою наших покрокових інструкцій, поданих нижче. Хоча багато програм Windows, зокрема ігор, все ще не можуть скористатися більш ніж одним або двома ядрами, додатки для створення вмісту, такі як кодери відео та інструменти 3D-рендерінгу, були оптимізовані в останні роки, щоб мати можливість використовувати кожну унцію процесорної потужності, ваш комп'ютер може кинути на них. Як правило, ви хочете, щоб ці додатки працювали якомога швидше, але іноді швидкість або час завершення не є основним фактором, і ви бажаєте тримати деяку частину процесорної потужності свого ПК доступною для іншого завдання, поки ваш вимогливий медіа-додаток працює в тло. Ось тут справді стане у нагоді спорідненість процесора.
Крок за кроком: наш приклад
Один додаток, який може з'їсти всі ядра процесора, які ви кидаєте на нього, - це кодер для відео x264, як RipBot264 (або HandBrake, або будь-який із наявних інструментів кодера x264 та x265). У нашому прикладі ми хочемо, щоб RipBot264 кодував відеофайл, але ми також хочемо одночасно працювати над іншими проектами в таких додатках, як Photoshop та Premiere.
За замовчуванням така програма, як RipBot264, буде використовувати всю доступну потужність обробки.
Якщо ми запустили кодування RipBot264, а потім запустили Photoshop та Premiere, Windows зробить все можливе, щоб визначити пріоритети та задовольнити потреби кожного додатка, але Windows також іноді буде робити помилку, що призводить до уповільнення або тимчасової заморозки в наших активних додатках. Ми можемо спробувати уникнути цього, використовуючи афінність процесора, щоб обмежити використання RipBot264 наших ядер CPU.Для початку спочатку переконайтеся, що ви ввійшли в обліковий запис користувача Windows з правами адміністратора. Тоді продовжуйте та запускайте додаток, яке ви хочете обмежити. У нашому випадку це RipBot264.
Далі запустіть диспетчер завдань Windows, клацнувши правою кнопкою миші на панелі завдань та виберіть Диспетчер завдань, або за допомогою комбінації комбінацій клавіш Ctrl-Shift-Escape . За замовчуванням диспетчер завдань в останніх версіях Windows запускається в "базовому" режимі. Якщо ваш диспетчер завдань не схожий на той, що є на наших знімках екрана, натисніть Докладніше, щоб відкрити повний інтерфейс. Після цього переконайтеся, що ви перебуваєте на вкладці "Процеси" і тепер знайдіть свою програму чи процес.
Цей останній крок потенційно простіше сказати, ніж зробити. У багатьох випадках ви просто знайдете потрібний додаток у списку. В інших випадках деякі програми можуть використовувати унікальні процеси, крім основного процесу застосування, для певних завдань. Головне - знайти процес або процеси, які відповідають за використання процесора, який ви хочете обмежити. Хороший спосіб перевірити це - запустити вимогливі дії (у нашому випадку почати кодування відеофайлу), а потім сортувати диспетчер завдань за стовпцем ЦП, щоб знайти процеси, які використовують найвищі рівні ресурсів процесора. Якщо назва процесу (знову ж таки, у нашому випадку це процес кодування H.264) збігається з вашим цільовим додатком, все налаштовано.
Визначивши правильний процес, клацніть по ньому правою кнопкою миші та виберіть Перейти до деталей . Це перейде на вкладку "Деталі" диспетчера завдань і автоматично виділить правильний процес.
Тепер ще раз клацніть правою кнопкою миші процес та виберіть Встановити прихильність .
З'явиться нове вікно з написом «Спорідненість процесора», заповнене прапорцями та нумерованим списком процесорів, кількість яких базується на загальній кількості фізичних та логічних ядер, упакованих у ваш конкретний процесор. У нашій прикладній системі працює Intel Core i7-5960X, який має вісім ядер з гіпертетикою. Таким чином, у нас є 16 процесорів, перелічених у нашому вікні придатності процесора.
Далі настав час вирішити, наскільки ви хочете обмежити додаток. Установіть прапорець поруч із опцією Усі процесори, щоб зняти прапорець у всіх полях процесора, а потім встановіть принаймні одне поле CPU, щоб перевірити, кожен з яких представляє фізичне або логічне ядро. Відсутні будь-які дефекти процесора або унікальні сценарії розгону, як правило, не має значення, які ядра ви обрали.
У нашому прикладі ми хочемо обмежити RipBot264 чотирма ядрами, залишаючи багато місця для інших, більш чутливих до часу завдань. Вибравши потрібну кількість ядер, натисніть OK, щоб закрити вікно придатності процесора. Ваші зміни наберуть чинності негайно, і якщо додаток уже займався важким процесором, ви побачите, що його використання процесора зменшиться на всіх, крім вибраних ядер.
Після того, як ми налаштували RipBot264 використовувати лише 4 з наших 16 ядер, використання процесора негайно падає на решту ядер.
За допомогою цієї установки ми можемо дозволити RipBot264 кодувати якомога швидше на цих чотирьох ядрах, але решта дванадцять ядер в нашій системі можуть безкоштовно працювати з іншими програмами. Якщо ми пізніше закінчимо іншу роботу і хочемо відновити повну продуктивність на RipBot264, ми можемо просто повторити описані вище кроки, щоб повернутися до вікна придатності процесора, а потім встановити прапорець " Всі процесори ", щоб ще раз надати додатку доступ до всіх наших процесорів сердечники.Коваджі
На додаток до проблем, пов'язаних зі стабільністю, про які було сказано раніше, вам потрібно розглянути ще один великий застереження. Будь-які зміни, що вносяться до спорідненості процесора, скидаються під час кожного перезапуску цього процесу. Це означає, що, як мінімум, вам потрібно буде повторювати ці дії щоразу при перезавантаженні ПК. Однак деякі процеси ще більш клопітні, оскільки вони автоматично завантажуються залежно від інструкцій програми. Наприклад, у нашій програмі RipBot264 процес модифікації кодерів H.264, який ми модифікували, починається з кожного разу, коли додаток переходить до кодування нового відеофайлу.
Можливо, ви зможете подолати це обмеження, створивши власні скрипти, які встановлюють спорідненість процесора додатка через пакетний файл на основі командного рядка або ярлик, але деякі програми можуть використовувати унікальні або випадкові процеси, які роблять такі зусилля важкими або неможливими. Тому найкраще експериментувати індивідуально з кожним додатком, яке ви хочете обмежити, щоб знайти найкращий спосіб вручну налаштувати спорідненість процесора.