Anonim

Većina Windows računala sada pokreću višejezgreni procesori, a najnovije verzije sustava Windows obično rade vrlo dobar posao tako da automatski podijele ukupnu procesorsku snagu vašeg računala kako bi se najbolje prilagodile vašim pokretačkim aplikacijama i igrama. Ali ponekad korisnik i Windows mogu imati različite ideje kada je riječ o donošenju odluka o tome kako najbolje iskoristiti CPU napajanje svog računala, i tu napredni korisnici mogu ući i ručno ograničiti određene aplikacije ili procese na određene CPU jezgre, zahvaljujući značajci koja se naziva afinitet procesora . Evo kako to učiniti.
Kada je riječ o verzijama sustava Windows na razini potrošača, mogućnost da korisnik ručno konfigurira upotrebu određene aplikacije CPU jezgri datira u vremenski okvir Windows XP / 2000, iako se koraci malo razlikuju u svakoj verziji sustava Windows. Za korake i snimke zaslona koristimo sustav Windows 10, ali čitači koji koriste starije verzije sustava Windows, posebno Windows 7 i Windows 8 / 8.1, trebali bi biti u mogućnosti slijediti osnovne korake u svjetlu malih razlika u korisničkom sučelju Windows.
Važno je napomenuti i prije nego što nastavimo da mijenjanje afiniteta procesora za određeni proces ili aplikaciju može uzrokovati probleme sa stabilnošću i vjerojatno će pogoršati performanse modernih višesmjernih aplikacija i igara. Stoga obavezno prvo eksperimentirajte s nebitnim aplikacijama i podacima i obavezno spremite otvoreni rad ili igru ​​prije izmjene bilo koje ovdje raspravljene postavke, jer su mogući rušenje aplikacija ili sustava.

Zašto ograničiti pristup aplikaciji jezgrama CPU-a?

Kao što je spomenuto gore, većina korisnika će htjeti da Windows automatski upravlja procesorskom snagom računala, pazeći da im pristupi aplikacija koja može koristiti sve jezgre. To općenito rezultira boljim performansama, tako da je glavno pitanje zašto bi korisnik ikada želio ograničiti ili ograničiti određenu aplikaciju s više navoja na manje od ukupne količine fizičkih i logičkih jezgara koje PC ima.
Na ovo pitanje postoje dva osnovna odgovora: 1) da se osigura kompatibilnost i performanse sa starijim softverom, i 2) da se pokrene inače teško opterećena procesorska svinja, a istovremeno se zadržava dovoljno resursa za istovremeno obavljanje drugih zadataka.
Počet ćemo s prvim odgovorom: kompatibilnost i performanse. Neke su aplikacije i igre za Windows kodirane mnogo prije nego što su višeslojni i višejezgreni procesori na razini potrošača bili stvarnost. Kreatori starijih igara, posebno, nikada nisu predvidjeli da bi netko igrao tu igru ​​imao išta više od Windows računala koje pokreće jedna visokofrekventna CPU jezgra. Kad se softver ove ere susreće s modernim procesorima koji pakiraju četiri, šest, osam ili čak više jezgara, to ponekad može rezultirati problemima s performansama ili čak nemogućnošću pokretanja programa uopće.
Mnoge aplikacije i igre i dalje rade sasvim u redu, čak i kada ih napajaju najnoviji 8-jezgreni / 16-nitni monstrumski desktop procesori. Ali ako pokušavate igrati stariju igru ​​i imate poteškoće, korištenje afiniteta procesora za ručno ograničavanje procesa igre na samo jedno od vaših mnogih jezgara može biti dobar korak za rješavanje problema.
Drugi odgovor je vjerojatno korisniji za više Windows korisnika, pa će biti osnova naših detaljnih uputa u nastavku. Iako mnoge Windows aplikacije, posebno igre, još uvijek ne mogu iskoristiti više od jedne ili dvije jezgre, aplikacije za stvaranje sadržaja kao što su video koderi i 3D alati za prikaz su optimizirane posljednjih godina kako bi mogli koristiti svaki unci procesorske snage koja vaše računalo može baciti na njih. Obično želite da te aplikacije rade što je brže moguće, no ponekad brzina ili vrijeme dovršetka nisu glavni faktor, a radije biste zadržali neki dio procesorske snage vašeg računala za drugi zadatak dok se zahtjevna medijska aplikacija pokreće u pozadine. Ovdje stvarno dolazi u obzir afinitet procesora.

Korak po korak: naš primjer

Jedna aplikacija koja može pojesti sve CPU jezgre koje bacate na nju je x264 video enkoder poput RipBot264 (ili HandBrake, ili bilo koji od mnogih alata za kodiranje x264 i x265 na raspolaganju). Za naš primjer, želimo da RipBot264 kodira video datoteku, ali istovremeno želimo raditi i na drugim projektima u aplikacijama kao što su Photoshop i Premiere.

Aplikacija poput RipBot264 prema zadanom će upotrijebiti svu dostupnu procesorsku snagu.

Ako smo pokrenuli naš RipBot264 kod, a zatim pokrenuli Photoshop i Premiere, Windows bi dao sve od sebe kako bi odredio prioritete i udovoljio potrebama svake aplikacije, ali Windows će također ponekad pogriješiti, što rezultira usporavanjem ili privremenim zamrzavanjem u našim aktivnim aplikacijama. To možemo pokušati izbjeći koristeći afinitet procesora za ograničavanje RipBot264 upotrebe naših CPU jezgara.
Za početak prvo provjerite jeste li prijavljeni na Windows korisnički račun s administratorskim povlasticama. Zatim idite naprijed i pokrenite aplikaciju koju želite ograničiti. U našem slučaju to je RipBot264.
Zatim pokrenite Windows upravitelja zadataka bilo desnim klikom na programsku traku i odabirom Upravitelja zadataka, bilo pomoću kombinacije prečaca na tipkovnici Ctrl-Shift-Escape . Po zadanom, Upravitelj zadataka u novijim verzijama sustava Windows pokreće se u "osnovnom" prikazu. Ako vaš upravitelj zadataka ne izgleda kao onaj na našim snimkama zaslona, ​​kliknite Više detalja da biste otkrili cijelo sučelje. Kad to učinite, provjerite jeste li na kartici "Procesi" i sada pronađite svoju aplikaciju ili postupak.
Ovaj posljednji korak potencijalno je lakše reći nego učiniti. U mnogim ćete slučajevima na popisu jednostavno pronaći željenu aplikaciju. U drugim slučajevima, neke aplikacije mogu koristiti jedinstvene procese osim primarnog postupka aplikacije za određene zadatke. Ključ je pronaći proces ili procese koji su odgovorni za upotrebu procesora koje želite ograničiti. Dobar način da se ovo ispita je pokretanje zahtjevne aktivnosti (u našem slučaju započnite kodiranje video datoteke), a zatim sortirajte upravitelja zadataka po stupcu CPU-a da biste pronašli procese koji koriste najviše razine resursa procesora. Ako se naziv procesa (opet, u našem slučaju to je postupak kodiranja H.264) podudara sa vašom ciljnom aplikacijom, sve je spremno.
Kad je ispravan postupak identificiran, desnom tipkom miša kliknite i odaberite Idi na detalje . To će vas usmjeriti na karticu Detalji upravitelja zadataka i automatski označiti ispravan postupak.


Sada ponovo kliknite desnom tipkom miša na postupak i odaberite Postavi afinitet .

Pojavit će se novi prozor s oznakom "Afinost procesora" ispunjen potvrdnim okvirima i numeriranim popisom CPU-a, čiji se broj temelji na ukupnom broju fizičkih i logičkih jezgara upakovanih u vaš specifični CPU. Naš primjereni sustav pokreće Intel Core i7-5960X, koji ima osam hiper navezanih jezgara. Stoga imamo ukupno 16 procesora navedenih u našem prozoru afinitet procesora.


Sljedeće je vrijeme da odlučite koliko želite ograničiti svoju aplikaciju. Potvrdite okvir uz opciju Svi procesori za uklanjanje svih okvira CPU-a, a zatim odaberite barem jedan okvir CPU-a za potvrdu, a svaki od njih predstavlja fizičku ili logičku jezgru. Odsutni bilo kakvi nedostaci CPU-a ili jedinstveni overclocking scenariji, to uglavnom nije važno koje ste jezgre odabrali.


U našem primjeru želimo ograničiti RipBot264 na četiri jezgre, ostavljajući puno prostora za ostale naše, vremenski osjetljive zadatke. Nakon što odaberete željeni broj jezgara, pritisnite OK za zatvaranje prozora Affinity procesora. Promjene će stupiti na snagu odmah i ako je aplikacija već bila uključena u težak CPU, vidjet ćete da se njezina upotreba procesora na svim, osim jezgrama koje ste odabrali.

Jednom kada konfiguriramo RipBot264 da koristi samo 4 od naših 16 jezgara, CPU upotreba odmah pada na preostalim jezgrama.

S ovom postavkom možemo dopustiti RipBot264 da kodira što je brže moguće na ove četiri jezgre, ali preostalih dvanaest jezgara u našem sustavu slobodno je rukovati ostalim aplikacijama. Ako kasnije dovršimo svoj drugi posao i želimo vratiti RipBot264 punu izvedbu, jednostavno ponovimo gore navedene korake da bismo se vratili do prozora Affinity procesora i zatim potvrdili potvrdni okvir All Processors da još jednom dodijeli pristup aplikaciji svim našim CPU-ima jezgre.

upozorenja

Pored prethodno spomenutih pitanja stabilnosti, morate razmotriti još jedan veliki nagovor. Sve promjene koje učinite na afinitetu procesora resetiraju se svaki put kada se taj postupak ponovno pokrene. To znači da ćete, u najmanju ruku, te korake morati ponavljati svaki put kada ponovno pokrenete računalo. Neki su procesi još problematičniji jer se automatski ponovno učitavaju ovisno o uputama aplikacije. U našem RipBot264, na primjer, postupak kodiranja H.264 koji smo izmijenili započinje svaki put kad aplikacija prijeđe na kodiranje nove video datoteke.
Možda ćete biti u mogućnosti zaobići to ograničenje stvaranjem prilagođenih skripti koje postavljaju afinitet procesora vaše aplikacije putem paketne datoteke zasnovane na naredbenom retku ili prečaca, ali neke aplikacije mogu upotrebljavati jedinstvene ili slučajne procese koji čine takve napore teškim ili nemogućim. Stoga je najbolje eksperimentirati pojedinačno sa svakom aplikacijom koju želite ograničiti kako biste pronašli najbolji način za ručnu konfiguraciju afiniteta procesora.

Kako ograničiti aplikacije na određene CPU jezgre s afinitetom procesora