Anonim

Večina osebnih računalnikov z Windows poganja večjedrne procesorje, novejše različice sistema Windows pa ponavadi zelo dobro opravijo samodejno razdeljevanje celotne procesne moči računalnika in tako najbolje ustrezajo vašim tekaškim aplikacijam in igram. Toda včasih lahko uporabnik in Windows imata različne ideje, ko gre za odločanje o tem, kako najbolje uporabiti CPU-jevo moči računalnika, in tu lahko napredni uporabniki vstopijo in ročno omejijo določene aplikacije ali procese na določena jedra CPU-ja, zahvaljujoč funkciji imenovana Affinity procesorja . Tukaj je, kako to storiti.
Ko gre za različice sistema Windows na ravni potrošnikov, možnost, da uporabnik ročno konfigurira uporabo določenih jeder CPU-ja, sega v časovni okvir Windows XP / 2000, čeprav se koraki pri vsaki različici sistema Windows nekoliko razlikujejo. Za korake in posnetke zaslona uporabljamo sistem Windows 10, vendar morajo bralci, ki poganjajo starejše različice sistema Windows, zlasti Windows 7 in Windows 8 / 8.1, imeti možnost, da sledijo osnovnim korakom zaradi majhnih razlik v uporabniškem vmesniku Windows.
Preden nadaljujemo, lahko spreminjanje afinitete procesorja za določen postopek ali aplikacijo povzroči težave s stabilnostjo in bo verjetno poslabšalo delovanje sodobnih večnamenskih aplikacij in iger. Zato se prepričajte, da najprej eksperimentirate z nepomembnimi aplikacijami in podatki in se prepričajte, da shranite kakršen koli odkrito delo ali igro, preden spremenite vse nastavitve, obravnavane tukaj, saj so možne zrušitve programov ali sistema.

Zakaj omejiti dostop aplikacije do jeder CPU-ja?

Kot že omenjeno, bo večina uporabnikov želela, da bo Windows samodejno upravljal s procesno močjo računalnika in tako zagotovil, da bodo do njih imeli dostop aplikacije, ki lahko uporabljajo vsa jedra. To na splošno prinaša boljše zmogljivosti, zato je glavno vprašanje, zakaj bi uporabnik kdaj želel omejiti ali omejiti določeno več-nitno aplikacijo na manj kot skupno količino fizičnih in logičnih jeder, ki jih ima PC na voljo.
Na to vprašanje obstajata dva osnovna odgovora: 1) za zagotovitev združljivosti in zmogljivosti s starejšo programsko opremo in 2) zagon sicer močno navojnega procesorja, ob tem pa si rezervirajte dovolj sredstev za istočasno opravljanje drugih nalog.
Začeli bomo s prvim odgovorom: združljivost in zmogljivost. Nekatere aplikacije in igre za Windows so bile kodirane že dolgo, preden so bili večnamenski in večjedrni procesorji na ravni potrošnikov stvarnost. Zlasti ustvarjalci starejših iger si morda niso nikoli zamislili, da bi nekdo, ki igra to igro, imel kaj drugega kot računalnik z operacijskim sistemom Windows, ki ga poganja eno samo visoko frekvenčno jedro procesorja. Če programska oprema te dobe naleti na sodobne procesorje, ki vsebujejo štiri, šest, osem ali celo več jeder, lahko to včasih povzroči težave z zmogljivostjo ali celo nezmožnost zagona programa.
Veliko aplikacij in iger še vedno deluje povsem v redu, seveda tudi če jih poganjajo najnovejši 8-jedrni / 16-nitni monster namizni procesorji. Če pa poskušate igrati starejšo igro in imate težave, lahko uporabite poskus afinitete procesorja, da ročno omejite postopek igre na samo eno od številnih jeder.
Drugi odgovor je verjetno bolj koristen za več uporabnikov sistema Windows, zato bo temelj spodnjih navodil po korakih. Čeprav številne aplikacije za Windows, zlasti igre, še vedno ne morejo izkoristiti več kot enega ali dveh jeder, so v zadnjih letih optimizirane aplikacije za ustvarjanje vsebine, kot so video kodirniki in orodja za 3D upodabljanje, da bi lahko uporabile vsako unčo procesne moči, računalnik lahko vrže na njih. Na splošno želite, da te aplikacije delujejo čim hitreje, včasih pa hitrost ali čas dokončanja nista glavni dejavnik in raje ohranite na voljo nekaj delov procesorske moči računalnika za drugo opravilo, medtem ko vaša zahtevna medijska aplikacija deluje v ozadje. Tu je resnično koristna afiniteta procesorja.

Korak za korakom: naš primer

Ena aplikacija, ki lahko požre vsa jedra CPU-ja, ki jih vržete nanjo, je videokoder x264, kot je RipBot264 (ali HandBrake, ali katero koli od orodij za dajanje x264 in x265, ki so na voljo). V našem primeru želimo, da RipBot264 kodira video datoteko, hkrati pa želimo delati tudi pri drugih projektih v aplikacijah, kot sta Photoshop in Premiere.

Aplikacija RipBot264 bo privzeto uporabila vso razpoložljivo procesno moč.

Če smo začeli s kodiranjem RipBot264 in nato začeli izvajati Photoshop in Premiere, bi se Windows potrudil, da bi prednostno določil in prilagodil potrebam vsake aplikacije, vendar bo tudi Windows občasno naredil napako, kar povzroči upočasnitev ali začasne zamrznitve v naših aktivnih aplikacijah. Temu se lahko skušamo izogniti s pomočjo afinitete procesorja, da omejimo uporabo RipBot264 naših jeder CPU.
Za začetek najprej preverite, ali ste prijavljeni v uporabniški račun sistema Windows s skrbniškimi pravicami. Nato nadaljujte in zaženite aplikacijo, ki jo želite omejiti. V našem primeru je to RipBot264.
Nato zaženite upravitelja opravil Windows tako, da z desno miškino tipko kliknete na opravilno vrstico in izberete upravitelja opravil bodisi s kombinacijo bližnjic na tipkovnici Ctrl-Shift-Escape . Privzeto se upravitelj opravil v zadnjih različicah sistema Windows zažene v "osnovnem" pogledu. Če vaš upravitelj opravil ni podoben tistemu na naših posnetkih zaslona, ​​kliknite Več podrobnosti, da razkrijete celoten vmesnik. Ko to storite, se prepričajte, da ste na zavihku »Procesi« in zdaj poiščite svojo aplikacijo ali postopek.
Ta zadnji korak je potencialno lažje reči kot narediti. V mnogih primerih boste na seznamu preprosto našli želeno aplikacijo. V drugih primerih lahko nekatere aplikacije poleg primarnega prijavnega postopka za določene naloge uporabljajo edinstvene procese. Ključno je najti postopek ali procese, ki so odgovorni za uporabo CPU, ki ga želite omejiti. Dober način, da to preizkusite, je sprožitev zahtevne dejavnosti (v našem primeru začnite kodiranje video datoteke) in nato razvrsti upravitelja opravil po stolpcu CPU, da najdete procese, ki uporabljajo najvišje ravni virov CPU. Če se ime procesa (znova gre za postopek dajalnika H.264) ujema z vašo ciljno aplikacijo, ste pripravljeni.
Z identificiranim pravilnim postopkom ga kliknite z desno tipko miške in izberite Pojdi na podrobnosti . Odprlo se bo zavihek Podrobnosti v upravitelju opravil in samodejno označil pravilen postopek.


Zdaj z desno miškino tipko kliknite postopek in izberite Set Affinity .

Odprlo se bo novo okno z oznako »Affinity Processor (Prilagodljivost procesorja)«, napolnjeno s potrditvenimi polji in oštevilčenim seznamom CPU-jev, katerih število temelji na skupnem številu fizičnih in logičnih jeder, pakiranih v vašem določenem CPU-ju. Naš primer sistem poganja Intel Core i7-5960X, ki ima osem hiperteznih jeder. Zato imamo v oknu o afiniteti procesorja naštetih skupno 16 procesorjev.


Nato je čas, da se odločite, koliko želite omejiti svojo aplikacijo. Kliknite potrditveno polje poleg možnosti Vsi procesorji, če želite odstraniti vsa polja CPU-ja, in potrdite vsaj eno okno CPU-ja, pri čemer vsako predstavlja fizično ali logično jedro. Če ni napak na CPU-ju ali edinstvenih scenarijih overclockingja, na splošno ni pomembno, katera jedra ste izbrali.


V našem primeru želimo omejiti RipBot264 na štiri jedra in tako pustiti veliko prostora za druge, bolj časovno občutljive naloge. Ko izberete želeno število jeder, pritisnite OK, da zaprete okno o pristopnosti procesorja. Vaše spremembe bodo začele veljati takoj in če se je aplikacija že ukvarjala z nalogo, ki je v CPU-ju, boste videli, da je poraba procesorja na vseh, razen izbranih jedrih, upadla.

Ko konfiguriramo RipBot264 tako, da uporablja samo 4 od naših 16 jeder, poraba CPE takoj pade na preostala jedra.

S to nastavitvijo lahko omogočimo, da RipBot264 čim hitreje kodira na teh štirih jedrih, preostalih dvanajst jeder v našem sistemu pa lahko uporablja druge aplikacije. Če pozneje zaključimo svoje drugo delo in želimo obnoviti polno zmogljivost RipBot264, lahko preprosto ponovimo zgornje korake, da se vrnemo nazaj v okno Affinity Processorja in nato potrdimo polje All Processors, da aplikaciji še enkrat omogočimo dostop do vseh naših CPU-jev jedra.

Caveats

Poleg že omenjenih vprašanj glede stabilnosti je treba upoštevati še en velik ukrep. Vse spremembe, ki jih spremenite v afiniteti procesorja, se ponastavijo vsakič, ko se postopek ponovno zažene. To pomeni, da boste morali te korake ponoviti vsaj ob ponovnem zagonu računalnika. Nekateri procesi pa so še bolj težavni, saj se samodejno naložijo, odvisno od navodil aplikacije. Na primer v naši nastavitvi RipBot264 se postopek kodiranja H.264, ki smo ga spremenili, začne z vsakim korakom, ko se aplikacija premakne na kodiranje nove video datoteke.
Morda boste morda obvladali to omejitev tako, da ustvarite skripte po meri, ki določijo afiniteto procesorja vaše aplikacije prek paketne datoteke ali bližnjice na osnovi ukazne vrstice, vendar lahko nekatere aplikacije uporabljajo edinstvene ali naključne postopke, ki takšna prizadevanja otežujejo ali onemogočajo. Zato je najbolje, da poskušate posamično z vsako aplikacijo, ki jo želite omejiti, da bi našli najboljši način za ročno konfiguracijo afinitete procesorja.

Kako omejiti aplikacije na določena jedra procesorja z afiniteto procesorja