Anonim

Väčšina počítačov so systémom Windows je teraz napájaná viacjadrovými procesormi a posledné verzie systému Windows vo všeobecnosti robia veľmi dobrú prácu, keď automaticky odpredajú celkový výkon počítača tak, aby čo najlepšie vyhovovali vašim bežiacim aplikáciám a hrám. Avšak niekedy môže mať užívateľ a Windows rôzne nápady, pokiaľ ide o rozhodnutia o tom, ako čo najlepšie využiť výkon CPU počítača, a to je miesto, kde môžu pokročilí používatelia vstúpiť a ručne obmedziť určité aplikácie alebo procesy na konkrétne jadrá CPU, vďaka funkcii nazýva sa príbuznosť procesora . Tu je návod, ako to urobiť.
Pokiaľ ide o verzie systému Windows na úrovni spotrebiteľa, možnosť pre používateľa manuálne nakonfigurovať používanie konkrétnych jadier procesora v aplikácii sa datuje do časového rámca systému Windows XP / 2000, hoci kroky sa v každej verzii systému Windows mierne líšia. Pokiaľ ide o kroky a snímky obrazovky, ktoré používame Windows 10, ale čitatelia používajúci staršie verzie systému Windows, najmä Windows 7 a Windows 8 / 8.1, by mali byť schopní postupovať podľa základných krokov vzhľadom na malé rozdiely v používateľskom rozhraní systému Windows.
Je tiež dôležité si uvedomiť, že skôr, ako budeme pokračovať, môže zmena afinity procesora pre konkrétny proces alebo aplikáciu spôsobiť problémy so stabilitou a pravdepodobne zníži výkon moderných viacvláknových aplikácií a hier. Preto nezabudnite najskôr experimentovať s nepodstatnými aplikáciami a údajmi a pred zmenou nastavení, o ktorých sa tu hovorí, nezabudnite uložiť akýkoľvek otvorený postup práce alebo hru, pretože je možné zlyhanie aplikácie alebo systému.

Prečo obmedzovať prístup aplikácie k procesorovým jadrom?

Ako je uvedené vyššie, väčšina používateľov bude chcieť, aby systém Windows automaticky spracovával výpočtový výkon počítača a zabezpečil, aby k nim mali prístup aplikácie, ktoré môžu využívať všetky jadrá. To vo všeobecnosti vedie k lepšiemu výkonu, takže hlavnou otázkou je, prečo by užívateľ chcel niekedy obmedziť alebo obmedziť určitú viacvláknovú aplikáciu na menej ako celkové množstvo fyzických a logických jadier, ktoré má počítač k dispozícii.
Existujú dve základné odpovede na túto otázku: 1) zabezpečenie kompatibility a výkonu so starším softvérom a 2) spustenie procesora s väčším počtom závitu, zatiaľ čo vyhradenie dostatočného množstva prostriedkov na súčasné vykonávanie iných úloh.
Začneme prvou odpoveďou: kompatibilita a výkon. Niektoré aplikácie a hry pre systém Windows boli kódované dávno predtým, ako boli realitou viaczávitové a viacjadrové procesory na úrovni spotrebiteľa. Najmä tvorcovia starších hier pravdepodobne nikdy netušili, že niekto, kto hrá túto hru, bude mať viac ako len počítač so systémom Windows napájaný jediným vysokofrekvenčným jadrom procesora. Keď sa softvér tejto éry stretne s modernými procesormi, ktoré majú štyri, šesť, osem alebo viac jadier, niekedy to môže mať za následok problémy s výkonom alebo dokonca neschopnosť spustiť program vôbec.
Mnoho aplikácií a hier stále beží dobre, samozrejme, aj keď sú poháňané najnovšími 8-jadrovými / 16-vláknovými monštrálnymi procesormi pre počítače. Ak sa však snažíte hrať staršiu hru a máte problémy, môže byť dobrým krokom na vyriešenie problému použitie afinity procesora na manuálne obmedzenie procesu hry iba na jedno z mnohých jadier.
Druhá odpoveď je pravdepodobne užitočnejšia pre viac používateľov systému Windows a bude tvoriť základ našich podrobných pokynov uvedených nižšie. Zatiaľ čo mnoho aplikácií pre systém Windows, najmä hry, stále nemôžu využívať výhody viac ako jedného alebo dvoch jadier, aplikácie na vytváranie obsahu, ako sú kodéry videa a nástroje na vykresľovanie 3D, boli v posledných rokoch optimalizované, aby mohli využívať každú uncu výpočtového výkonu, ktorý váš počítač na ne môže hádzať. Vo všeobecnosti by ste chceli, aby tieto aplikácie prebehli čo najrýchlejšie, ale niekedy nie je primárnym faktorom rýchlosť ani čas dokončenia. Radšej by ste mali mať určitú časť výpočtového výkonu počítača k dispozícii pre inú úlohu, zatiaľ čo vaša náročná multimediálna aplikácia beží v pozadie. Toto je miesto, kde sa afinita procesorov skutočne hodí.

Krok za krokom: Náš príklad

Jednou z aplikácií, ktoré dokážu zjesť všetky jadrá CPU, ktoré na ňu vyhodíte, je video kodér x264, napríklad RipBot264 (alebo HandBrake, alebo ktorýkoľvek z nespočetných dostupných kódovacích nástrojov x264 a x265). V našom príklade chceme, aby RipBot264 kódoval video súbor, ale zároveň chceme pracovať aj na ďalších projektoch v aplikáciách ako Photoshop a Premiere.

V predvolenom nastavení bude aplikácia ako RipBot264 využívať všetku dostupnú kapacitu spracovania.

Keby sme spustili kódovanie RipBot264 a potom spustili Photoshop a Premiere, systém Windows by urobil všetko, čo bolo v jeho silách, aby uprednostnil a vyhovoval potrebám každej aplikácie, ale systém Windows tiež príležitostne urobí chybu, čo povedie k spomaleniu alebo dočasnému zamrznutiu v našich aktívnych aplikáciách. Môžeme sa tomu pokúsiť vyhnúť pomocou afinity k procesoru, aby sme obmedzili použitie našich jadier CPU procesorom RipBot264.
Ak chcete začať, najprv sa uistite, že ste prihlásení do používateľského účtu Windows s oprávneniami správcu. Potom pokračujte a spustite aplikáciu, ktorú chcete obmedziť. V našom prípade je to RipBot264.
Potom spustite Správcu úloh systému Windows kliknutím pravým tlačidlom myši na paneli úloh a výberom položky Správca úloh alebo pomocou kombinácie klávesových skratiek Ctrl-Shift-Escape . V predvolenom nastavení sa Správca úloh v posledných verziách systému Windows začína v „základnom“ zobrazení. Ak váš Správca úloh nevyzerá ako ten na našich snímkach obrazovky, kliknutím na položku Viac podrobností zobrazíte úplné rozhranie. Po dokončení sa uistite, že ste na karte Procesy, a teraz vyhľadajte svoju aplikáciu alebo proces.
Tento posledný krok je možné ľahšie povedať, ako urobiť. V mnohých prípadoch jednoducho nájdete požadovanú aplikáciu v zozname. V iných prípadoch môžu niektoré aplikácie pri určitých úlohách používať jedinečné procesy okrem primárneho procesu aplikácie. Kľúčom je nájsť proces alebo procesy, ktoré sú zodpovedné za využitie CPU, ktoré chcete obmedziť. Dobrým spôsobom, ako to otestovať, je spustiť náročnú činnosť (v našom prípade spustiť kódovanie videosúboru) a potom zoradiť Správcu úloh podľa stĺpca CPU, aby ste našli procesy, ktoré využívajú najvyššiu úroveň prostriedkov CPU. Ak sa názov procesu (opäť v našom prípade jedná o kódovací proces H.264) zhoduje s vašou cieľovou aplikáciou, všetko je nastavené.
Ak je identifikovaný správny proces, kliknite naň pravým tlačidlom myši a vyberte príkaz Prejsť na podrobnosti . Tým sa dostanete na kartu Podrobnosti v Správcovi úloh a automaticky sa zvýrazní správny proces.


Teraz kliknite pravým tlačidlom myši na proces a vyberte možnosť Nastaviť príbuznosť .

Zobrazí sa nové okno s označením „Spracovateľská príbuznosť“, ktoré je vyplnené začiarkavacími políčkami a očíslovaným zoznamom CPU, ktorých počet je založený na celkovom počte fyzických a logických jadier zabalených vo vašom konkrétnom CPU. Náš príkladový systém používa procesor Intel Core i7-5960X, ktorý má osem hyperthreaded jadier. Z tohto dôvodu máme v našom okne Spätná väzba na procesory uvedené celkom 16 CPU.


Ďalej je čas rozhodnúť sa, ako veľmi chcete svoju aplikáciu obmedziť. Kliknutím na začiarkavacie políčko vedľa položky Všetky procesory zrušte výber všetkých políčok CPU a potom začiarknite aspoň jedno políčko CPU, pričom každé z nich predstavuje fyzické alebo logické jadro. Neprítomnosť akýchkoľvek chýb CPU alebo jedinečných scenárov pretaktovania, zvyčajne nezáleží na tom, ktoré jadrá vyberiete.


V našom príklade chceme obmedziť RipBot264 na štyri jadrá a ponechať dostatok priestoru pre naše ďalšie úlohy, ktoré sú viac citlivé na čas. Keď vyberiete požadovaný počet jadier, stlačte tlačidlo OK, aby ste zatvorili okno príbuznosti procesora. Vaše zmeny sa prejavia okamžite a ak už bola aplikácia zapojená do úlohy náročnej na procesor, uvidíte, že jej využitie procesora kleslo na všetkých vybratých jadrách.

Keď nakonfigurujeme RipBot264 tak, aby používal iba 4 z našich 16 jadier, využitie CPU okamžite klesá na zvyšných jadrách.

Vďaka tomuto nastaveniu môžeme nechať kódovanie RipBot264 čo najrýchlejšie na týchto štyroch jadrách, ale zvyšných dvanásť jadier v našom systéme môže spracovávať ďalšie aplikácie. Ak neskôr dokončíme našu ďalšiu prácu a chceme obnoviť plný výkon na server RipBot264, môžeme jednoducho zopakovať vyššie uvedené kroky a vrátiť sa do okna príbuznosti procesorov a potom začiarknutím políčka Všetky procesory znova udeliť aplikácii prístup k všetkým našim procesorom. jadra.

Upozornenie

Okrem vyššie uvedených problémov so stabilitou je potrebné zvážiť ešte jednu veľkú výzvu. Všetky zmeny, ktoré urobíte v súvislosti s procesorom, sa obnovia pri každom reštarte tohto procesu. To znamená, že tieto kroky budete musieť opakovať pri každom reštarte počítača. Niektoré procesy sú však ešte zložitejšie, pretože sa načítajú automaticky podľa pokynov v aplikácii. Napríklad v našom nastavení RipBot264 sa proces kódovania H.264, ktorý sme upravili, začína pri každom prechode aplikácie na kódovanie nového videosúboru.
Toto obmedzenie možno budete obísť vytvorením vlastných skriptov, ktoré nastavia príbuznosť procesora vašej aplikácie pomocou dávkového súboru alebo zástupcu založeného na príkazovom riadku, ale niektoré aplikácie môžu používať jedinečné alebo náhodné procesy, ktoré také úsilie sťažujú alebo znemožňujú. Preto je najlepšie experimentovať individuálne s každou aplikáciou, ktorú chcete obmedziť, aby ste našli najlepší spôsob manuálnej konfigurácie príbuznosti procesora.

Ako obmedziť aplikácie na konkrétne jadrá procesorov s afinitou k procesorom