Cum să restricționați aplicațiile la anumite nuclee CPU cu afinitate procesor

Cele mai multe PC-uri Windows sunt acum alimentate de procesoare multi-core, iar versiunile recente de Windows fac, în general, un lucru foarte bun treabă bună de a împărți automat puterea totală de procesare a PC-ului pentru a se potrivi cel mai bine cu aplicațiile care rulează și jocuri. Dar, uneori, utilizatorul și Windows pot avea idei diferite atunci când vine vorba de a lua decizii cu privire la modul de utilizare optimă a puterii procesorului unui computer și aici utilizatorii avansați pot interveni și restricționa manual anumite aplicații sau procese la anumite nuclee CPU, datorită unei caracteristici numit Afinitatea procesorului. Iată cum să o faci.
Când vine vorba de versiunile Windows la nivel de consumator, capacitatea unui utilizator de a configura manual utilizarea unei aplicații anumite nuclee ale procesorului datează din intervalul de timp Windows XP/2000, deși pașii diferă ușor în fiecare versiune de Windows. Pentru pașii și capturile de ecran din acest articol, folosim Windows 10, dar cititorii care rulează versiuni mai vechi de Windows, în special Windows 7 și Windows 8/8.1, ar trebui să poată urma pașii de bază în fața unor mici diferențe față de Interfața de utilizare Windows.


De asemenea, este important să rețineți, înainte de a continua, modificarea afinității procesorului pentru un anumit proces sau aplicația poate cauza probleme de stabilitate și, probabil, va degrada performanța aplicațiilor moderne cu mai multe fire și jocuri. Prin urmare, asigurați-vă că experimentați mai întâi cu aplicații și date care nu sunt esențiale și asigurați-vă că salvați toate aplicațiile deschise progresul muncii sau al jocului înainte de a modifica orice setări discutate aici, așa cum sunt blocările aplicației sau ale sistemului posibil.

Cum să restricționați aplicațiile la anumite nuclee CPU cu afinitate procesor

De ce să limitați accesul unei aplicații la nucleele procesorului?

După cum am menționat mai sus, majoritatea utilizatorilor vor dori ca Windows să gestioneze automat puterea de procesare a computerului, asigurându-se că aplicațiile care pot utiliza toate nucleele au acces la ele. Acest lucru duce, în general, la o performanță mai bună, deci întrebarea principală este De ce un utilizator ar dori vreodată să limiteze sau să restricționeze o anumită aplicație cu mai multe fire la mai puțin decât cantitatea totală de nuclee fizice și logice pe care le are la dispoziție un computer.
Există două răspunsuri de bază la această întrebare: 1) pentru a asigura compatibilitatea și performanța cu software-ul mai vechi și 2) pentru a rulați un procesor cu fire grele, rezervând totuși suficiente resurse pentru a efectua simultan alte sarcini.
Vom începe cu primul răspuns: compatibilitate și performanță. Unele aplicații și jocuri Windows au fost codificate cu mult înainte ca procesoarele multi-threaded și multi-core la nivel de consumator să devină o realitate. Creatorii de jocuri mai vechi, în special, s-ar putea să nu fi imaginat niciodată că cineva care joacă jocul ar avea ceva mai mult decât un PC Windows alimentat de un singur nucleu CPU de înaltă frecvență. Când software-ul acestei epoci întâlnește procesoare moderne care împachetează patru, șase, opt sau chiar mai multe nuclee, uneori poate duce la probleme de performanță sau chiar imposibilitatea de a lansa programul.
Multe aplicații și jocuri încă funcționează bine, desigur, chiar și atunci când sunt alimentate de cel mai recent 8-core/16 fire procesoare desktop monstru. Dar dacă încercați să jucați un joc mai vechi și aveți probleme, folosiți afinitatea procesorului pentru a restricționarea manuală a procesului jocului la doar unul dintre multele tale nuclee poate fi un pas bun de depanare a incerca.
Cel de-al doilea răspuns este probabil mai util pentru mai mulți utilizatori Windows și va sta la baza instrucțiunilor noastre pas cu pas de mai jos. În timp ce multe aplicații Windows, în special jocuri, tot nu pot profita de mai mult de unul sau două nuclee, aplicații de creare de conținut, cum ar fi codificatoare video și randare 3D instrumentele au fost optimizate în ultimii ani pentru a putea folosi fiecare gram de putere de procesare pe care o poate arunca computerul dvs. lor. În general, doriți ca aceste aplicații să funcționeze cât mai repede posibil, dar uneori viteza sau timpul de finalizare nu sunt factorul principal și ați mai degrabă păstrați o parte din puterea de procesare a computerului dvs. disponibilă pentru o altă sarcină în timp ce aplicația dvs. media solicitantă rulează în fundal. Aici este locul în care afinitatea procesorului este într-adevăr utilă.

Pas cu pas: exemplul nostru

O aplicație care poate consuma toate nucleele CPU pe care le aruncați este un codificator video x264, cum ar fi RipBot264 (sau Frână de mână, sau oricare dintre nenumăratele instrumente de codificare x264 și x265 disponibile). Pentru exemplul nostru, dorim ca RipBot264 să codifice un fișier video, dar vrem să lucrăm și la alte proiecte în aplicații precum Photoshop și Premiere în același timp.

Windows task manager toate procesoarele

În mod implicit, o aplicație precum RipBot264 va folosi toată puterea de procesare disponibilă.


Dacă am porni codificarea RipBot264 și apoi am lansat Photoshop și Premiere, Windows ar face tot posibilul să prioritizeze și satisface nevoile fiecărei aplicații, dar Windows va face și ocazional o greșeală, ducând la încetiniri sau înghețari temporare în aplicații active. Putem încerca să evităm acest lucru utilizând afinitatea procesorului pentru a limita utilizarea de către RipBot264 a nucleelor ​​CPU.
Pentru a începe, asigurați-vă mai întâi că sunteți conectat la un cont de utilizator Windows cu privilegii de administrator. Apoi mergeți mai departe și lansați aplicația pe care doriți să o restricționați. În cazul nostru, acesta este RipBot264.
Apoi, lansați Windows Task Manager, fie făcând clic dreapta pe bara de activități și selectând Gestionar de sarcini sau folosind combinația de comenzi rapide de la tastatură Ctrl-Shift-Escape. În mod implicit, Managerul de activități din versiunile recente de Windows pornește într-o vizualizare „de bază”. Dacă Managerul de activități nu arată ca cel din capturile noastre de ecran, faceți clic Mai multe detalii pentru a dezvălui interfața completă. După ce ați terminat, asigurați-vă că vă aflați în fila „Procese” și acum găsiți aplicația sau procesul.
Acest ultim pas este potențial mai ușor de spus decât de făcut. În multe cazuri, veți găsi pur și simplu aplicația dorită în listă. În alte cazuri, unele aplicații pot utiliza procese unice în afară de procesul de aplicare principal pentru anumite sarcini. Cheia este să găsiți procesul sau procesele care sunt responsabile pentru utilizarea CPU pe care doriți să o limitați. O modalitate bună de a testa acest lucru este să declanșați activitatea solicitantă (în cazul nostru, începeți să codificați un fișier video) și apoi sortați Task Manager după coloana CPU pentru a găsi procesele care folosesc cele mai înalte niveluri de CPU resurse. Dacă numele procesului (din nou, în cazul nostru este un proces de codificare H.264) se potrivește cu aplicația țintă, ești gata.
Cu procesul corect identificat, faceți clic dreapta pe el și selectați Accesați Detalii. Acest lucru vă va duce la fila Detalii a Managerului de activități și va evidenția automat procesul corect.
managerul de activități accesați detalii
Acum, faceți clic dreapta din nou pe proces și selectați Setați afinitatea.
afinitate set manager de activități
O nouă fereastră etichetată „Afinitate procesorului” va apărea plină cu casete de selectare și o listă numerotată de procesoare, al căror număr se bazează pe numărul total de nuclee fizice și logice ambalate în specificul dvs CPU. Sistemul nostru exemplu rulează un Intel Core i7-5960X, care are opt nuclee hyperthreaded. Prin urmare, avem un total de 16 procesoare listate în fereastra Procesor Affinity.
afinitatea procesorului managerului de sarcini
Apoi, este timpul să decideți cât de mult doriți să restricționați aplicația. Faceți clic pe caseta de selectare de lângă Toate procesoarele pentru a deselecta toate casetele CPU și apoi alegeți cel puțin o casetă CPU pentru a verifica, fiecare reprezentând un nucleu fizic sau logic. În absența oricăror defecte ale procesorului sau scenarii unice de overclocking, în general, nu contează ce nuclee selectați.
afinitatea procesorului este limitată
În exemplul nostru, dorim să limităm RipBot264 la patru nuclee, lăsând mult spațiu pentru celelalte sarcini mai sensibile la timp. După ce ați selectat numărul dorit de nuclee, apăsați Bine pentru a închide fereastra Procesor Affinity. Modificările dvs. vor intra în vigoare imediat și, dacă aplicația a fost deja angajată într-o sarcină grea de CPU, veți vedea că utilizarea procesorului său scade pe toate, cu excepția nucleelor ​​pe care le-ați selectat.
afinitatea procesorului managerului de activități limitată

Odată ce configurăm RipBot264 să utilizeze doar 4 dintre cele 16 nuclee ale noastre, utilizarea procesorului scade imediat pe nucleele rămase.


Cu această configurare, putem lăsa RipBot264 să codifice cât mai repede posibil pe acele patru nuclee, dar celelalte douăsprezece nuclee din sistemul nostru sunt libere să gestioneze alte aplicații. Dacă mai târziu terminăm cealaltă lucrare și dorim să restabilim performanța completă la RipBot264, putem pur și simplu să repetăm ​​pașii de mai sus pentru a reveni la fereastra Procesor Affinity și apoi a verifica Toate procesoarele caseta pentru a acorda din nou aplicației acces la toate nucleele procesorului nostru.

Avertismente

Pe lângă problemele de stabilitate menționate mai devreme, mai există o altă mare avertizare pe care va trebui să o luați în considerare. Orice modificări pe care le faceți asupra afinității procesorului sunt resetate ori de câte ori acel proces este repornit. Aceasta înseamnă că, cel puțin, va trebui să repetați acești pași de fiecare dată când reporniți computerul. Cu toate acestea, unele procese sunt și mai supărătoare, deoarece se reîncarcă automat în funcție de instrucțiunile aplicației. În configurația noastră RipBot264, de exemplu, procesul de codificare H.264 pe care l-am modificat începe de fiecare dată când aplicația trece la codificarea unui nou fișier video.
Este posibil să puteți rezolva această limitare prin creare scripturi personalizate care setează afinitatea procesorului aplicației dvs. printr-un fișier batch bazat pe linia de comandă sau o comandă rapidă, dar unele aplicații pot folosi procese unice sau aleatorii care fac astfel de eforturi dificile sau imposibile. Prin urmare, cel mai bine este să experimentați individual cu fiecare aplicație pe care doriți să o restricționați pentru a găsi cea mai bună modalitate de a configura manual afinitatea procesorului.