Anonim

Useimmissa Windows-tietokoneissa käytetään nyt moniytimisiä prosessoreita, ja viimeisimmät Windows-versiot tekevät yleensä erittäin hyvää työtä jakamalla tietokoneesi kokonaisprosessointiteho automaattisesti automaattisesti, jotta parhaiten sopivat käynnissä olevat sovellukset ja pelit. Mutta joskus käyttäjällä ja Windowsilla voi olla erilaisia ​​ideoita päätöksenteossa siitä, miten PC: n suorittimen virtaa käytetään parhaiten. Tällöin kokeneet käyttäjät voivat astua sisään ja rajoittaa manuaalisesti tietyt sovellukset tai prosessit tiettyihin suorittimen ytimiin ominaisuuden ansiosta. jota kutsutaan prosessorin affiniteettiksi . Näin voit tehdä sen.
Kun kyse on kuluttajatason Windows-versioista, käyttäjän mahdollisuus määrittää sovelluksen käyttämä tiettyjen CPU-ytimien käyttö manuaalisesti juontaa juurensa Windows XP / 2000 -aikakehykseen, vaikka vaiheet eroavat hieman Windows-versioista. Vaiheissa ja ruutukuvissa, joita käytämme Windows 10: llä, mutta lukijoiden, jotka käyttävät Windowsin vanhempia versioita, etenkin Windows 7 ja Windows 8 / 8.1, pitäisi voida noudattaa perusvaiheita, jos Windowsin käyttöliittymään liittyy pieniä eroja.
On myös tärkeää huomata, ennen kuin jatkamme, että prosessorin affiniteetin muuttaminen tiettyyn prosessiin tai sovellukseen voi aiheuttaa vakavuusongelmia ja todennäköisesti heikentää nykyaikaisten monisäikeisten sovellusten ja pelien suorituskykyä. Siksi kokeile ensin ei-tärkeitä sovelluksia ja tietoja ja tallenna avoin työ tai pelin eteneminen ennen kuin muokkaamme kaikkia tässä käsiteltyjä asetuksia, koska sovelluksen tai järjestelmän kaatuminen on mahdollista.

Miksi rajoittaa sovelluksen pääsy suorittimen ytimiin?

Kuten edellä mainittiin, suurin osa käyttäjistä haluaa, että Windows käsittelee tietokoneen prosessoritehoa automaattisesti varmistamalla, että kaikki ytimet hyödyntävät sovellukset pääsevät heille. Tämä johtaa yleensä parempaan suorituskykyyn, joten ensisijainen kysymys on, miksi käyttäjä haluaisi koskaan rajoittaa tai rajoittaa tietyn monisäikeisen sovelluksen alle tietokoneen käytettävissä olevien fyysisten ja loogisten ytimien kokonaismäärän.
Tähän kysymykseen on kaksi perusvastausta: 1) yhteensopivuuden ja suorituskyvyn varmistaminen vanhempien ohjelmistojen kanssa ja 2) muuten voimakkaasti kierteitetyn suorittimen hogin suorittaminen varaamalla samalla tarpeeksi resursseja muiden tehtävien samanaikaiseen suorittamiseen.
Aloitamme ensimmäisestä vastauksesta: yhteensopivuus ja suorituskyky. Jotkut Windows-sovellukset ja pelit koodattiin kauan ennen kuin kuluttajatasoiset monisäikeiset ja moniytimiset prosessorit olivat todellisuutta. Varsinkin vanhempien pelien luojat eivät ehkä ole koskaan kuvitelleet, että jollain peliä pelavalla olisi jotain muuta kuin Windows-tietokone, joka toimii yhdellä korkeataajuisella CPU-ytimellä. Kun tämän aikakauden ohjelmisto kohtaa nykyaikaisia ​​CPU: ita, joissa on neljä, kuusi, kahdeksan tai jopa enemmän ytimiä, se voi joskus johtaa suorituskykyongelmiin tai jopa kyvyttömyyteen käynnistää ohjelmaa ollenkaan.
Monet sovellukset ja pelit toimivat silti hienosti, jopa uusimpien 8-ytimisten / 16-säikeisten monsteripöytätietokoneiden virrankäyttöön. Mutta jos yrität pelata vanhempaa peliä ja sinulla on ongelmia, suorittimen affiniteetin käyttö rajoittaaksesi pelin prosessin manuaalisesti vain yhteen monista ytimistä saattaa olla hyvä vianetsintävaihe.
Toinen vastaus on todennäköisesti hyödyllisempi useille Windows-käyttäjille, ja se muodostaa perustan alla oleville vaiheittaisille ohjeillemme. Vaikka monet Windows-sovellukset, etenkin pelit, eivät silti voi hyödyntää useampaa kuin yhtä tai kahta ydintä, sisällönluontisovelluksia, kuten videokoodereita ja 3D-renderointityökaluja, on viime vuosina optimoitu voidakseen käyttää jokaista unssia prosessointitehoa, joka tietokoneesi voi heittää niitä. Haluat yleensä, että nämä sovellukset menevät niin nopeasti kuin mahdollista, mutta toisinaan nopeus tai valmistumisaika eivät ole ensisijainen tekijä, ja pidät mieluummin jonkin osan tietokoneen prosessointitehosta käytettävissä toiseen tehtävään, kun vaativa mediasovelluksesi toimii tausta. Tässä prosessorin affiniteetti on todella hyödyllinen.

Askel askeleelta: Esimerkki

Yksi sovellus, joka voi syödä kaikki siihen heitetyt suorittimen ytimet, on x264-videokooderi, kuten RipBot264 (tai HandBrake tai mikä tahansa lukemattomista saatavilla olevista x264- ja x265-kooderityökaluista). Esimerkiksi haluamme, että RipBot264 koodaa videotiedoston, mutta haluamme myös työskennellä samanaikaisesti muiden projektien kanssa sovelluksissa, kuten Photoshop ja Premiere.

Oletuksena RipBot264: n kaltainen sovellus käyttää kaikkia käytettävissä olevia prosessointitehoja.

Jos käynnistäisimme RipBot264-koodauksen ja käynnistäisimme sitten Photoshopin ja Premieren, Windows tekisi parhaansa priorisoidakseen ja mukauttaakseen kunkin sovelluksen tarpeet, mutta Windows tekee myös satunnaisesti virheen, mikä johtaa aktiivisuuden hidastumiseen tai tilapäiseen jäädyttämiseen. Voimme yrittää välttää tämän käyttämällä prosessorin affiniteettia rajoittaaksesi RipBot264: n käyttöä CPU-ytimissämme.
Aloita varmista ensin, että olet kirjautunut sisään Windows-käyttäjätilille järjestelmänvalvojan oikeuksilla. Mene eteenpäin ja käynnistä sovellus, jota haluat rajoittaa. Meidän tapauksessamme se on RipBot264.
Käynnistä seuraavaksi Windows Task Manager joko napsauttamalla hiiren kakkospainikkeella tehtäväpalkkia ja valitsemalla Task Manager tai käyttämällä pikanäppäinyhdistelmää Ctrl-Shift-Escape . Oletuksena Task Manager -sovellus uusimmissa Windows-versioissa alkaa ”perusnäkymässä”. Jos Tehtävienhallintaohjelma ei näytä ruutukaappauksiltamme, paljasta koko käyttöliittymä napsauttamalla Lisätietoja . Kun olet valmis, varmista, että olet “Prosessit” -välilehdessä ja löydät nyt sovelluksesi tai prosessisi.
Tämä viimeinen vaihe on mahdollisesti helpommin sanottu kuin tehty. Monissa tapauksissa löydät vain haluamasi sovelluksen luettelosta. Muissa tapauksissa jotkut sovellukset voivat käyttää tiettyihin tehtäviin ainutlaatuisia prosesseja ensisijaisen sovellusprosessin lisäksi. Tärkeintä on löytää prosessi tai prosessit, jotka vastaavat CPU: n käytöstä, jota haluat rajoittaa. Hyvä tapa testata tämä on aktivoida vaativa toiminta (tässä tapauksessa aloita videotiedoston koodaaminen) ja lajitella sitten Task Manager CPU-sarakkeesta löytääksesi prosessit, jotka käyttävät korkeimpia CPU-resursseja. Jos prosessin nimi (jälleen tapauksessamme se on H.264-koodausprosessi) sopii kohdesovellukseesi, olet valmis.
Kun oikea prosessi on tunnistettu, napsauta sitä hiiren kakkospainikkeella ja valitse Siirry yksityiskohtiin . Siirryt Task Manager -sovelluksen Tiedot-välilehteen ja korostaa oikean prosessin automaattisesti.


Napsauta nyt hiiren kakkospainikkeella prosessia ja valitse Aseta affiniteetti .

Uusi ikkuna, jonka otsikko on ”Suorittimen affiniteetti”, täytetään valintaruuduilla ja numeroidulla CPU-luettelolla. Näiden lukumäärä perustuu tiettyyn CPU: han pakattujen fyysisten ja loogisten ytimien kokonaismäärään. Esimerkkijärjestelmässämme toimii Intel Core i7-5960X, jossa on kahdeksan hypertreaed-ydintä. Siksi meillä on yhteensä 16 prosessoria lueteltu Suorittimen affiniteetti -ikkunassa.


Seuraavaksi on aika päättää, kuinka paljon haluat rajoittaa sovellustasi. Napsauta Kaikki prosessorit -kohdan vieressä olevaa valintaruutua, jos haluat poistaa kaikki CPU-ruudut, ja valitse sitten vähintään yksi tarkistettava CPU-ruutu, jolloin jokainen edustaa fyysistä tai loogista ydintä. Mitään suorittimen virheitä tai ainutlaatuisia overclocking-skenaarioita ei ole, sillä ei yleensä ole väliä mitkä ytimet valitset.


Esimerkissämme haluamme rajoittaa RipBot264: n neljään ytimeen, jättäen paljon tilaa muille aikaherkemmille tehtävillemme. Kun olet valinnut haluamasi määrän ytimiä, sulje Suorittimen affiniteetti -ikkuna painamalla OK- painiketta. Muutokset tulevat voimaan heti, ja jos sovellus oli jo suorittanut prosessoria rasittavaa tehtävää, sen suorittimen käyttö romahtaa kaikissa paitsi valitsemissasi ytimissä.

Kun olemme määrittäneet RipBot264: n käyttämään vain 4 16 ytimestämme, suorittimen käyttö putoaa heti jäljellä oleviin ytimiin.

Tämän asennuksen avulla voimme antaa RipBot264: n koodata niin nopeasti kuin mahdollista näillä neljällä ytimellä, mutta järjestelmämme jäljellä olevat 12 ydintä voivat vapaasti käsitellä muita sovelluksia. Jos lopetamme myöhemmin muut työmme ja haluamme palauttaa täyden suorituskyvyn RipBot264: lle, voimme yksinkertaisesti toistaa yllä olevat vaiheet palataksesi Suoritin-affiniteetti-ikkunaan ja tarkistaa sitten Kaikki prosessorit -ruudun myöntääksesi sovellukselle jälleen käyttöoikeuden kaikille prosessoriemme ydintä.

varoitukset

Aiemmin mainittujen vakavuusongelmien lisäksi on vielä yksi suuri varoitus, joka sinun on harkittava. Suorittimen affiniteettiin tekemäsi muutokset nollataan aina, kun prosessi käynnistetään uudelleen. Tämä tarkoittaa, että joudut vähintään toistamaan nämä vaiheet aina, kun käynnistät tietokoneesi. Jotkin prosessit ovat kuitenkin vielä vaikeampia, koska ne latautuvat automaattisesti sovelluksen ohjeista riippuen. Esimerkiksi RipBot264-asetuksissamme muokattu H.264-koodausprosessi alkaa joka kerta, kun sovellus siirtyy koodaamaan uutta videotiedostoa.
Saatat pystyä kiertämään tätä rajoitusta luomalla mukautettuja skriptejä, jotka asettavat sovelluksesi prosessorin affiniteetin komentorivipohjaisen eräajotiedoston tai pikakuvakkeen avulla, mutta jotkut sovellukset voivat käyttää ainutlaatuisia tai satunnaisia ​​prosesseja, jotka tekevät tällaisista pyrkimyksistä vaikeita tai mahdotonta. Siksi on parasta kokeilla erikseen jokaista rajoitettua sovellusta löytääksesi parhaan tavan määrittää prosessorin affiniteetti manuaalisesti.

Kuinka rajoittaa sovellukset tiettyihin cpu-ytimiin suorittimen affiniteetilla