Anonim

A legtöbb Windows PC-t most többmagos processzorok hajtják, és a Windows legújabb verziói általában nagyon jó munkát végeznek azzal, hogy automatikusan felosztják a számítógép teljes feldolgozási teljesítményét, hogy a futó alkalmazásokat és játékokat legjobban illeszkedjenek. De néha a felhasználó és a Windows eltérő elgondolásokkal járhat a számítógép CPU-teljesítményének legmegfelelőbb felhasználásáról szóló döntések meghozatalában, és ebben az esetben a haladó felhasználók léphetnek be és manuálisan korlátozhatnak bizonyos alkalmazásokat vagy folyamatokat egy adott CPU-magra, egy funkciónak köszönhetően. processzor affinitásnak nevezzük. Itt van, hogyan kell csinálni.
A Windows fogyasztói szintű verziói esetében a felhasználónak az a képessége, hogy az alkalmazás adott CPU-magjait manuálisan konfigurálja, a Windows XP / 2000 időkeretére nyúlik vissza, bár a lépések a Windows egyes verzióinál kissé eltérnek. A Windows 10 operációs rendszert használó lépésekhez és képernyőképekhez, de a Windows régebbi verzióit futtató olvasóknak, különösen a Windows 7 és a Windows 8 / 8.1 verzióknak képesnek kell lenniük az alapvető lépések követésére, a Windows felhasználói felületével szembeni kisebb eltérésekkel szemben.
Fontos még azt is megjegyezni, mielőtt folytatnánk, hogy a processzor affinitásának módosítása egy adott folyamathoz vagy alkalmazáshoz stabilitási problémákat okozhat, és ez valószínűleg rontja a modern többszálú alkalmazások és játékok teljesítményét. Ezért ellenőrizze, hogy először kísérletezzen a nem fontos alkalmazásokkal és adatokkal, és mielőtt módosítana az itt tárgyalt beállításokat, mindenképpen mentse a nyitott munkákat vagy a játék előrehaladását, mivel az alkalmazások vagy a rendszer összeomlása lehetséges.

Miért korlátozza egy alkalmazás hozzáférését a CPU magjaihoz?

Mint fentebb említettem, a legtöbb felhasználó azt akarja, hogy a Windows automatikusan kezelje a számítógép feldolgozási energiáját, ügyelve arra, hogy az összes magot hasznosító alkalmazások hozzáférjenek hozzájuk. Ez általában jobb teljesítményt eredményez, tehát az elsődleges kérdés az, hogy a felhasználó miért akarja valaha korlátozni vagy korlátozni egy bizonyos többszálú alkalmazást az a fizikai és logikai magok teljes mennyiségére vonatkoztatva, amelyre a számítógép rendelkezésre áll.
Két alapvető válasz van erre a kérdésre: 1) a kompatibilitás és a teljesítmény biztosítása a régebbi szoftverekkel, és 2) egy egyébként erősen menetes processzor-disznó futtatása, miközben elegendő forrást kell fenntartani a többi feladat egyidejű végrehajtására.
Az első választ kezdjük: kompatibilitás és teljesítmény. Néhány Windows-alkalmazást és játékot jóval azelőtt kódoltak, hogy a fogyasztói szintű többszálú és többmagos processzorok valósággá váltak. Különösen a régebbi játékok alkotói soha nem gondolhatták volna úgy, hogy a játékot játszó személyeknek valami másjuk lesz, mint egy Windows PC-n, amelyet egyetlen nagyfrekvenciás CPU-mag üzemeltet. Amikor az e korszak szoftverei modern CPU-kkal találkoznak, amelyek négy, hat, nyolc vagy még több magot tartalmaznak, ez teljesítményproblémákat okozhat, vagy akár a program elindításának képtelenségét is eredményezheti.
Sok alkalmazás és játék természetesen továbbra is tökéletesen működik, még akkor is, ha a legújabb 8 magos / 16 szálú monster asztali CPU-k táplálják. De ha egy régebbi játékot próbál játszani, és problémái vannak, akkor a processzor affinitásának használata a játék folyamatának manuális korlátozására a sok mag egyikére csak egy jó hibaelhárítási lépés lehet.
A második válasz valószínűleg sokkal több Windows-felhasználó számára hasznos, és az alábbiakban részletezett utasítások alapját képezi. Bár sok Windows alkalmazás, különösen a játékok, továbbra sem élvezheti egy vagy két mag használatát, a tartalom létrehozására szolgáló alkalmazásokat, például a videó kódolókat és a 3D megjelenítő eszközöket az utóbbi években úgy optimalizálták, hogy minden egyes uncia feldolgozási teljesítményt felhasználhassanak, a számítógépe rájuk dobhat. Általában azt akarja, hogy ezek az alkalmazások a lehető leggyorsabban menjenek, de néha a sebesség vagy a befejezési idő nem az elsődleges tényező, és inkább inkább a számítógépe feldolgozási teljesítményének egy részét tartsa elérhetővé egy másik feladathoz, míg az igényes médiaalkalmazás a háttér. A processzor affinitása itt nagyon hasznos.

Lépésről lépésre: Példa

Az egyik alkalmazás, amely el tudja enni az összes eldobott CPU-magot, egy x264 videokódoló, például a RipBot264 (vagy a HandBrake, vagy a rendelkezésre álló számtalan x264 és x265 kódoló eszköz). Példaként azt szeretnénk, ha a RipBot264 videofájlt kódolna, de más projektekre is szükségünk van az alkalmazásokban, mint például a Photoshop és a Premiere egyszerre.

Alapértelmezés szerint egy olyan alkalmazás, mint a RipBot264, felhasználja az összes rendelkezésre álló feldolgozási energiát.

Ha elindítanánk a RipBot264 kódolást, majd elindítanánk a Photoshop-ot és a Premiere-t, a Windows mindent megtesz annak érdekében, hogy fontossági sorrendbe állítsa és kielégítse az egyes alkalmazások igényeit, de a Windows esetenként hibát is okoz, ami lelassulást vagy ideiglenes lefagyást eredményez aktív alkalmazásaiban. Megpróbálhatjuk ezt elkerülni, ha a processzor affinitását korlátozzuk a RipBot264 CPU magjainak használatára.
A kezdéshez először ellenőrizze, hogy be van-e jelentkezve egy rendszergazdai jogosultságokkal rendelkező Windows felhasználói fiókba. Ezután induljon el, és indítsa el a korlátozni kívánt alkalmazást. A mi esetünkben ez a RipBot264.
Ezután indítsa el a Windows Feladatkezelőt, vagy kattintson a jobb gombbal a tálcára, és válassza a Feladatkezelőt, vagy a Ctrl-Shift-Escape billentyűparancs- kombináció használatával. Alapértelmezés szerint a Task Manager a Windows legújabb verzióiban „alap” nézetben indul. Ha a Task Manager nem úgy néz ki, mint a képernyőképeink, kattintson a További részletek elemre a teljes felület megjelenítéséhez. Ha elkészült, győződjön meg arról, hogy a „Folyamatok” lapon van, és most megtalálja alkalmazását vagy folyamatát.
Ezt az utolsó lépést valószínűleg könnyebben lehet mondani, mint megtenni. Sok esetben egyszerűen megtalálja a kívánt alkalmazást a listában. Más esetekben egyes alkalmazások bizonyos feladatokhoz az elsődleges alkalmazási folyamatokon kívül egyedi folyamatokat is használhatnak. A kulcs annak a folyamatnak vagy folyamatoknak a megtalálása, amelyek felelősek a korlátozni kívánt CPU használatáért. Ennek tesztelésének egyik jó módja az igényes tevékenység beindítása (a mi esetünkben kezdje el a videofájl kódolását), majd a Task Manager rendezése a CPU oszlop szerint, hogy megtalálják azokat a folyamatokat, amelyek a legmagasabb szintű CPU-erőforrásokat használják. Ha a folyamat neve (ismét esetünkben H.264 kódoló folyamat) megegyezik a célalkalmazással, akkor minden kész.
A helyes folyamat azonosítása után kattintson a jobb gombbal rá, és válassza az Ugrás a részletek menüpontot. Ekkor a Task Manager Részletek lapjára lép, és automatikusan kiemeli a helyes folyamatot.


Most kattintson jobb gombbal a folyamatra, és válassza az Affinitás beállítása lehetőséget .

Megjelenik egy új, a „Processor Affinity” feliratú jelölőnégyzetek és a CPU-k számozott listája, amelyek száma az adott CPU-ba csomagolt fizikai és logikai magok teljes számán alapul. Példarendszerünk Intel Core i7-5960X-t futtat, amelynek nyolc hipertáras magja van. Ezért összesen 16 CPU van felsorolva a Processor Affinity ablakban.


Ezután itt az ideje, hogy eldöntse, mennyit korlátozni kívánja alkalmazását. Az összes processzor melletti jelölőnégyzet bejelölésével törölje az összes CPU-négyzetet, majd válassza ki legalább egy ellenőrizendő CPU-négyzetet, mindegyik jelölve egy fizikai vagy logikai magot. Nincs CPU hiba vagy egyedi overclocking forgatókönyv, általában nem számít, hogy melyik magot választotta ki.


Példánkban a RipBot264-et négy magra szeretnénk korlátozni, így sok hely marad a többi időérzékenyebb feladatunk számára. Miután kiválasztotta a kívánt számú magot, nyomja meg az OK gombot a Processor Affinity ablak bezárásához. A változtatások azonnal hatályba lépnek, és ha az alkalmazás már részt vett egy CPU-feladatot igénylő feladatban, akkor a processzorhasználat csökkenni fog a kiválasztott magok kivételével.

Miután beállítottuk a RipBot264-et, hogy a 16 magunk közül csak 4-et használjon, a CPU-használat azonnal csökken a többi magon.

Ezzel a beállítással hagyhatjuk, hogy a RipBot264 a lehető leggyorsabban kódoljon ezen a négy magon, de a rendszerünkben fennmaradó tizenkét mag szabadon kezelheti más alkalmazásokat. Ha később befejezzük a többi munkát, és a teljes teljesítményt vissza akarjuk állítani a RipBot264-re, egyszerűen megismételhetjük a fenti lépéseket, hogy visszatérjünk a Processor Affinity ablakba, majd jelöljük be az All Processor négyzetet, hogy ismét hozzáférést biztosítsunk az alkalmazáshoz az összes processzorunkhoz. magot.

Ellenjavallat

A korábban említett stabilitási kérdések mellett van még egy nagy figyelmeztetés, amelyet figyelembe kell venni. A processzor affinitásában végrehajtott bármilyen módosítás visszaáll, ha a folyamat újraindul. Ez azt jelenti, hogy legalább a számítógép újraindításakor meg kell ismételnie ezeket a lépéseket. Néhány folyamat még zavaróbb, mivel az alkalmazás utasításaitól függően automatikusan újratöltődnek. Például a RipBot264 rendszerben a módosított H.264 kódoló folyamat minden alkalommal elindul, amikor az alkalmazás új videofájl kódolására lép.
Lehetséges, hogy kiküszöböli ezt a korlátozást egyéni szkriptek létrehozásával, amelyek parancssori alapú kötegelt fájl vagy parancsikon segítségével állítják be az alkalmazás processzorának affinitását, de egyes alkalmazások egyedi vagy véletlenszerű folyamatokat használhatnak, amelyek megnehezítik az ilyen erőfeszítéseket. Ezért a legjobb, ha külön-külön kísérletezik a korlátozni kívánt alkalmazásokkal, hogy megtalálják a legjobb módszert a processzor affinitásának manuális konfigurálására.

Hogyan korlátozhatjuk az alkalmazásokat a meghatározott cpu magokra a processzor affinitásával