Повечето компютри с 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 (или Ръчна спирачка , или който и да е от безброй налични инструменти за кодиране x264 и x265). За нашия пример искаме RipBot264 да кодира видео файл, но искаме да работим и по други проекти в приложения като Photoshop и Premiere едновременно.
Ако стартирахме кодирането си RipBot264 и след това стартирахме Photoshop и Premiere, Windows ще направи всичко възможно, за да даде приоритет и да отговори на нуждите на всяко приложение, но Windows също така понякога ще направи грешка, което ще доведе до забавяне или временно замразяване на нашите активни приложения. Можем да се опитаме да избегнем това, като използваме афинитет на процесора, за да ограничим използването на нашите ядра на процесора от RipBot264.
За да започнете, първо се уверете, че сте влезли в потребителски акаунт на Windows с администраторски права. След това продължете и стартирайте приложението, което искате да ограничите. В нашия случай това е RipBot264.
След това стартирайте Windows Task Manager, като щракнете с десния бутон върху лентата на задачите и изберете Диспечер на задачите или с помощта на комбинацията от клавишни комбинации Ctrl-Shift-Escape . По подразбиране диспечерът на задачите в последните версии на Windows стартира в основен изглед. Ако вашият диспечер на задачите не изглежда като този в нашите екранни снимки, щракнете Повече информация за да разкрие пълния интерфейс. След като приключите, уверете се, че сте в раздела „Процеси“ и сега намерете приложението или процеса си.
Тази последна стъпка е потенциално по-лесно да се каже, отколкото да се направи. В много случаи просто ще намерите желаното приложение в списъка. В други случаи някои приложения могат да използват уникални процеси, освен основния процес на приложение за определени задачи. Ключът е да намерите процеса или процесите, които са отговорни за използването на процесора, което искате да ограничите. Един добър начин да тествате това е да задействате взискателната дейност (в нашия случай започнете да кодирате видео файл) и след това да сортирате диспечера на задачите по колоната на процесора, за да намерите процесите, които използват най-високите нива на ресурсите на процесора. Ако името на процеса (отново в нашия случай това е процес на кодиране H.264) съвпада с целевото ви приложение, всичко е готово.
С установения правилен процес щракнете с десния бутон върху него и изберете Отидете на Подробности . Това ще ви отведе до раздела Подробности на диспечера на задачите и автоматично ще подчертае правилния процес.
Сега щракнете с десния бутон отново върху процеса и изберете Задайте афинитет .
Ще се появи нов прозорец с етикет Processor Affinity, изпълнен с квадратчета за отметка и номериран списък на процесорите, чийто брой се базира на общия брой физически и логически ядра, опаковани във вашия конкретен CPU. Нашата примерна система работи с Intel Core i7-5960X, който има осем хипернижени ядра. Следователно имаме общо 16 процесора, изброени в прозореца ни за афинитет на процесора.
След това е време да решите доколко искате да ограничите приложението си. Поставете отметка в квадратчето до Всички процесори да деактивирате всички кутии на процесора и след това да изберете поне едно поле за процесор, което да се проверява, като всяко от тях представлява физическо или логическо ядро. Липсвайки дефекти на процесора или уникални сценарии за овърклок, обикновено няма значение кои ядра ще изберете.
В нашия пример искаме да ограничим RipBot264 до четири ядра, оставяйки достатъчно място за другите ни по-чувствителни към времето задачи. След като изберете желания брой ядра, натиснете Добре за затваряне на прозореца за афинитет на процесора. Промените ви ще влязат в сила незабавно и ако приложението вече е ангажирано с тежка CPU задача, ще видите неговото използване на процесора рязко на всички, освен на избраните от вас ядра.
С тази настройка можем да позволим на RipBot264 да кодира възможно най-бързо на тези четири ядра, но останалите дванадесет ядра в нашата система са свободни да обработват други приложения. Ако по-късно завършим другата си работа и искаме да възстановим пълната производителност на RipBot264, можем просто да повторим стъпките по-горе, за да се върнем към прозореца за афинитет на процесора и след това да проверим Всички процесори кутия, за да предоставим отново на приложението достъп до всичките ни ядра на процесора.
Предупреждения
В допълнение към споменатите по-рано проблеми със стабилността, има още една голяма забележка, която ще трябва да имате предвид. Всички промени, които правите в афинитета на процесора, се нулират, когато този процес се рестартира. Това означава, че най-малко ще трябва да повтаряте тези стъпки всеки път, когато рестартирате компютъра си. Някои процеси обаче са още по-обезпокоителни, тъй като се презареждат автоматично в зависимост от инструкциите на приложението. В нашата настройка на RipBot264, например, процесът на кодиране H.264, който модифицирахме, започва отначало всеки път, когато приложението премине към кодиране на нов видео файл.
Може да успеете да заобиколите това ограничение, като създадете персонализирани скриптове които задават афинитет на процесора на приложението ви чрез команден ред, базиран на команден ред или пряк път, но някои приложения могат да използват уникални или произволни процеси, които правят тези усилия трудни или невъзможни. Ето защо е най-добре да експериментирате индивидуално с всяко приложение, което искате да ограничите, за да намерите най-добрия начин за ръчно конфигуриране на афинитета на процесора.
как да превърнете вашия почерк в шрифт