Anonim

La majoria de les PC són actualment alimentades per processadors multi-core, i les versions recents de Windows generalment fan un bon treball de divulgació automàtica del poder de processament total del vostre PC per adaptar-vos al màxim a les vostres aplicacions i jocs en funcionament. Però de vegades l’usuari i el Windows poden tenir idees diferents a l’hora de prendre decisions sobre la manera d’utilitzar el millor poder de la CPU d’un PC, i és aquí on els usuaris avançats poden introduir i restringir manualment determinades aplicacions o processos a nuclis de CPU específics, gràcies a una característica anomenada Processor Affinity . A continuació us detallem com fer-ho.
Quan es tracta de versions de Windows a nivell de consum, la possibilitat per a un usuari de configurar manualment l’ús d’una aplicació de nuclis de CPU específics de l’aplicació es remunta al període de temps de Windows XP / 2000, tot i que els passos difereixen lleugerament en cada versió de Windows. Per als passos i captures de pantalla utilitzem Windows 10, però els lectors que utilitzin versions anteriors de Windows, en particular Windows 7 i Windows 8 / 8.1, haurien de poder seguir els passos bàsics davant de petites diferències amb la interfície d'interès de Windows.
També és important tenir en compte abans de procedir que la modificació de l’afinitat del processador per a un procés o aplicació determinat pot causar problemes d’estabilitat i probablement degradarà el rendiment de les aplicacions i jocs moderns multi-threaded. Per tant, assegureu-vos que primer experimenteu amb dades i aplicacions no crucials i assegureu-vos de desar qualsevol treball obert o progressos del joc abans de modificar la configuració que es discuteix aquí, ja que són possibles els bloqueigs de l'aplicació o del sistema.

Per què limitar l’accés d’una aplicació als còpies de CPU?

Com s'ha esmentat anteriorment, la majoria dels usuaris voldran que Windows gestioni automàticament la potència de processament del PC, assegurant-se que les aplicacions que puguin utilitzar tots els nuclis tinguin accés a aquestes. Generalment es produeix un millor rendiment, per la qual cosa la pregunta principal és per què un usuari voldria limitar o restringir una determinada aplicació multi-threaded a menys de la quantitat total de nuclis físics i lògics que té un PC disponible.
Hi ha dues respostes bàsiques a aquesta pregunta: 1) per assegurar la compatibilitat i el rendiment amb programari més antic, i 2) per executar un processador altament filat, mentre que encara es reserva recursos suficients per realitzar altres tasques simultàniament.
Començarem amb la primera resposta: compatibilitat i rendiment. Algunes aplicacions i jocs de Windows es codificaven molt abans que els processadors multi-fil i multi-core al nivell del consumidor fossin una realitat. Els creadors de jocs antics, en particular, mai no havien previst que algú que jugués tindria res més que un PC Windows alimentat per un sol nucli de CPU d’alta freqüència. Quan un programari d’aquesta època es troba amb CPUs modernes amb quatre, sis, vuit o fins i tot més nuclis, de vegades pot resultar en problemes de rendiment o fins i tot la incapacitat de llançar el programa.
Moltes aplicacions i jocs encara funcionen bé, per descomptat, fins i tot quan es treballen amb les últimes CPU d'escriptori monstre de 8 nuclis / 16 fils. Però si intenteu jugar a un joc més antic i teniu problemes, l’ús de l’afinitat del processador per restringir manualment el procés del joc a només un dels vostres nuclis pot ser un bon pas per solucionar problemes.
La segona resposta és probablement més útil per a més usuaris de Windows i constituirà la base de les nostres instruccions detallades a continuació. Tot i que moltes aplicacions de Windows, en particular els jocs, encara no poden aprofitar més d’un o dos nuclis, les aplicacions de creació de contingut com codificadors de vídeo i eines de representació 3D s’han optimitzat en els darrers anys per poder utilitzar cada unça de potència de processament que el vostre ordinador els pot tirar. Generalment voleu que aquestes aplicacions tinguin el màxim de ràpid possible, però a vegades el temps de velocitat o de finalització no és el factor principal, i preferiu mantenir una part del poder de processament del vostre PC disponible per a una altra tasca mentre la vostra aplicació multimèdia exigent funcioni. fons. Aquí és on l’afinitat del processador és realment útil.

Pas a pas: El nostre exemple

Una aplicació que pot consumir tots els nuclis de CPU que us llança és un codificador de vídeo x264 com RipBot264 (o HandBrake, o qualsevol de les eines de codificador x264 i x265 disponibles). Per exemple, volem que RipBot264 codifiqui un fitxer de vídeo, però també volem treballar en altres projectes en aplicacions com Photoshop i Premiere alhora.

De manera predeterminada, una aplicació com RipBot264 utilitzarà tota la potència de processament disponible.

Si iniciem la nostra codificació RipBot264 i després llançéssim Photoshop i Premiere, Windows faria tot el possible per donar prioritat i satisfer les necessitats de cada aplicació, però Windows també ens equivocarà ocasionalment, provocant alentiments o congelacions temporals en les nostres aplicacions actives. Podem intentar evitar-ho mitjançant l’afinitat del processador per limitar l’ús que RipBot264 faci dels nostres nuclis de CPU.
Per començar, abans d'assegurar-vos que heu accedit a un compte d'usuari de Windows amb privilegis d'administració. A continuació, aneu endavant i inicieu l’aplicació que vulgueu restringir. En el nostre cas, aquest és RipBot264.
A continuació, inicieu el Gestor de tasques de Windows, fent clic amb el botó dret a la barra de tasques i seleccionant Task Manager o bé mitjançant la combinació de dreceres de teclat Ctrl-Shift-Escape . De manera predeterminada, el Task Manager de les versions recents de Windows s’inicia en una vista “bàsica”. Si el vostre gestor de tasques no sembla el de les nostres captures de pantalla, feu clic a Més detalls per mostrar la interfície completa. Un cop fet això, assegureu-vos que esteu a la pestanya "Processos" i que ara trobareu la vostra aplicació o procés.
Aquest darrer pas es pot dir que és més fàcil que fer-ho. En molts casos, simplement trobareu l'aplicació desitjada a la llista. En altres casos, algunes aplicacions poden utilitzar processos únics a part del procés d'aplicació principal per a determinades tasques. La clau és trobar el procés o processos responsables de l'ús de la CPU que voleu limitar. Una bona manera de provar-ho és desencadenar l’activitat exigent (en el nostre cas, començar a codificar un fitxer de vídeo) i després ordenar Task Manager per la columna de la CPU per trobar els processos que utilitzen els nivells més alts de recursos de CPU. Si el nom del procés (de nou, en el nostre cas és un procés de codificació H.264) coincideix amb l’aplicació de destinació, ja esteu tots configurats.
Amb el procés correcte identificat, feu clic amb el botó dret sobre i seleccioneu Vés a Detalls . Això us saltarà a la pestanya Detalls del Gestor de tasques i destacarà automàticament el procés correcte.


Ara, feu clic amb el botó dret de nou al procés i seleccioneu Configura afinitat .

Apareixerà una nova finestra amb l'etiqueta "Processor Affinity" plena de caselles de selecció i una llista numerada de CPU, la quantitat de les quals es basa en el nombre total de nuclis físics i lògics empaquetats en la vostra CPU específica. El nostre sistema d’exemple està utilitzant un Intel Core i7-5960X, que té vuit nuclis d’hipertercats. Tenim, doncs, un total de 16 CPU a la finestra Affinity del processador.


A continuació, és hora de decidir quant voleu restringir la vostra aplicació. Feu clic a la casella de selecció que hi ha al costat de Tots els processadors per desactivar totes les caselles de CPU i, a continuació, seleccioneu almenys una casella de CPU per comprovar, cadascuna que representa un nucli físic o lògic. Si no hi ha defectes de CPU o escenaris de overclocking únics, generalment no importa els nuclis que seleccioneu.


En el nostre exemple, volem limitar RipBot264 a quatre nuclis, deixant molt espai per a les nostres tasques més sensibles al temps. Un cop seleccionat el nombre de nuclis desitjat, premeu OK per tancar la finestra Affinity Processor. Els canvis entraran en vigor immediatament i, si l'aplicació ja estava dedicada a una tasca pesada per la CPU, veuràs que l'ús del processador s'ha reduït en tots els nuclis que heu seleccionat.

Una vegada que configurem RipBot264 per utilitzar només 4 dels nostres 16 nuclis, l'ús de la CPU cau immediatament sobre els nuclis restants.

Amb aquesta configuració, podem permetre que RipBot264 codifiqui el més ràpidament possible en aquests quatre nuclis, però els dotze nuclis restants del nostre sistema són lliures de manejar altres aplicacions. Si més endavant acabem el nostre altre treball i volem restaurar el rendiment complet a RipBot264, simplement podem repetir els passos anteriors per dirigir-nos a la finestra de l’afinitat del processador i, a continuació, marcar el quadre Tots els processadors per tornar a concedir l’aplicació a totes les nostres CPU. nuclis.

Advertències

A més dels problemes d’estabilitat esmentats anteriorment, caldrà tenir en compte una altra gran advertència. Els canvis que feu a l’afinitat del processador es restableixen sempre que es reinicia aquest procés. Això vol dir que, com a mínim, haureu de repetir aquests passos cada vegada que reinicieu el PC. Alguns processos són encara més problemàtics, ja que es carreguen automàticament segons les instruccions de l’aplicació. En la nostra configuració de RipBot264, per exemple, el procés de codificació H.264 que vam modificar s’inicia cada vegada que l’aplicació passa a codificar un nou fitxer de vídeo.
Pot ser que pugueu evitar aquesta limitació creant scripts personalitzats que estableixen l’afinitat del processador de l’aplicació mitjançant un fitxer o drecera basada en línia de comandaments, però algunes aplicacions poden utilitzar processos únics o aleatoris que dificultin o impossibilitin aquests esforços. Per tant, és millor experimentar individualment amb cada aplicació que vulgueu restringir per trobar la millor manera de configurar manualment l'afinitat del processador.

Com restringir les aplicacions a nuclis de CPU específics amb afinitat del processador