De fleste Windows-pc'er er nu drevet af multi-core-processorer, og de nyeste versioner af Windows gør generelt et meget godt stykke arbejde med automatisk at opdele din pc's samlede behandlingskraft for bedst at imødekomme dine kørende apps og spil. Men nogle gange kan brugeren og Windows have forskellige ideer, når det kommer til at tage beslutninger om, hvordan man bedst bruger en pc's CPU-strøm, og det er her, avancerede brugere kan træde ind og manuelt begrænse visse apps eller processer til specifikke CPU-kerner takket være en funktion kaldet Processor Affinity . Sådan gør du.
Når det kommer til forbrugerversion af Windows, er brugerens mulighed for manuelt at konfigurere en apps brug af specifikke CPU-kerner tilbage til Windows XP / 2000-tidsrammen, selvom trinnene adskiller sig lidt i hver version af Windows. Til trin og skærmbilleder bruger vi Windows 10, men læsere, der kører ældre versioner af Windows, især Windows 7 og Windows 8 / 8.1, skal kunne følge de grundlæggende trin i lyset af små forskelle i Windows UI.
Det er også vigtigt at bemærke, før vi fortsætter, at ændring af processoraffinitet til en bestemt proces eller app kan forårsage stabilitetsproblemer, og det vil sandsynligvis forringe ydeevnen for moderne multetrådede apps og spil. Sørg derfor for, at du eksperimenterer med ikke-afgørende apps og data først, og sørg for at gemme alle åbne arbejds- eller spilfremskridt, før du ændrer de indstillinger, der er diskuteret her, da applikations- eller systemuheld er muligt.
Hvorfor begrænse en app's adgang til CPU-kerner?
Som nævnt ovenfor ønsker de fleste brugere, at Windows automatisk skal håndtere pc'ens processorkraft, og sikre sig, at apps, der kan bruge alle kerner, får adgang til dem. Dette resulterer generelt i bedre ydelse, så det primære spørgsmål er, hvorfor en bruger nogensinde ønsker at begrænse eller begrænse en bestemt multetrådede app til mindre end den samlede mængde fysiske og logiske kerner, som en pc har til rådighed.
Der er to grundlæggende svar på dette spørgsmål: 1) for at sikre kompatibilitet og ydeevne med ældre software, og 2) at køre en ellers stærkt gevindprocessor, mens du stadig reserverer ressourcer nok til samtidig at udføre andre opgaver.
Vi starter med det første svar: kompatibilitet og ydeevne. Nogle Windows-apps og -spil blev kodet længe før multi-threaded og multi-core processorer på forbrugerniveau var en realitet. Skaberne af især ældre spil har måske aldrig forestillet sig, at nogen, der spiller spillet, ville have noget mere end en Windows-pc, der er drevet af en enkelt højfrekvent CPU-kerne. Når software i denne æra støder på moderne CPU'er, der pakker fire, seks, otte eller endda flere kerner, kan det undertiden resultere i ydelsesproblemer eller endda manglende evne til at starte programmet overhovedet.
Mange apps og spil kører stadig helt fint, selvom de drives af de nyeste 8-core / 16-trins monster-desktop-CPU'er. Men hvis du prøver at spille et ældre spil, og du har problemer, kan det være et godt fejlfindingstrin at prøve at bruge processoraffinitet til manuelt at begrænse spillets proces til kun en af dine mange kerner.
Det andet svar er sandsynligvis mere nyttigt for flere Windows-brugere, og det vil danne grundlaget for vores trin-for-trin-instruktioner nedenfor. Mens mange Windows-apps, især spil, stadig ikke kan drage fordel af mere end en eller to kerner, er apps til oprettelse af indhold såsom video-kodere og 3D-gengivelsesværktøjer blevet optimeret i de senere år for at kunne bruge enhver ounce af processorkraft, som din pc kan smide på dem. Du vil generelt, at disse apps skal gå så hurtigt som muligt, men sommetider er hastighed eller gennemførelsestid ikke den primære faktor, og du vil hellere holde en del af din pc's behandlingsstyrke tilgængelig til en anden opgave, mens din krævende medie-app kører i baggrund. Det er her processoraffinitet virkelig kommer godt med.
Trin for trin: Vores eksempel
En app, der kan spise op alle de CPU-kerner, du kaster på den, er en x264-videokoder som RipBot264 (eller Håndbremse, eller et hvilket som helst af de utallige x264- og x265-koderværktøjer, der er tilgængelige). Som eksempel vil vi have, at RipBot264 skal kode en videofil, men vi vil også arbejde på andre projekter i apps som Photoshop og Premiere på samme tid.

Som standard bruger en app som RipBot264 al tilgængelig behandlingskraft.
Hvis vi startede vores RipBot264-kode og derefter lancerede Photoshop og Premiere, ville Windows gøre sit bedste for at prioritere og imødekomme hver apps behov, men Windows vil også lejlighedsvis begå en fejl, hvilket resulterer i afmatninger eller midlertidig frysning i vores aktive apps. Vi kan forsøge at undgå dette ved at bruge processoraffinitet til at begrænse RipBot264's brug af vores CPU-kerner.For at komme i gang skal du først sikre dig, at du er logget ind på en Windows-brugerkonto med administratorrettigheder. Gå derefter videre og start den app, du ønsker at begrænse. I vores tilfælde er det RipBot264.
Start derefter Windows Task Manager, enten ved at højreklikke på proceslinjen og vælge Task Manager eller ved at bruge tastaturgenvejskombinationen Ctrl-Shift-Escape . Som standard starter Task Manager i nylige versioner af Windows i en "grundlæggende" visning. Hvis din Task Manager ikke ligner den i vores skærmbilleder, skal du klikke på Flere detaljer for at afsløre den fulde grænseflade. Når det er gjort, skal du sørge for, at du er på fanen "Processer" og nu finder din app eller proces.
Dette sidste trin er potentielt lettere sagt end gjort. I mange tilfælde finder du simpelthen din ønskede app på listen. I andre tilfælde bruger nogle apps muligvis unikke processer bortset fra den primære applikationsproces til visse opgaver. Nøglen er at finde den proces eller de processer, der er ansvarlige for den CPU-brug, du ønsker at begrænse. En god måde at teste dette på er at udløse den krævende aktivitet (i vores tilfælde starte kodning af en videofil) og derefter sortere Task Manager efter CPU-kolonnen for at finde de processer, der bruger de højeste niveauer af CPU-ressourcer. Hvis procesnavnet (igen, i vores tilfælde er det en H.264-kodeproces) matcher med din målapp, er du klar.
Med den korrekte proces identificeret, skal du højreklikke på den og vælge Gå til detaljer . Dette springer dig til fanen Detaljer i Task Manager og fremhæver automatisk den rigtige proces.

Højreklik igen på processen og vælg Angiv affinitet .


Dernæst er det tid til at beslutte, hvor meget du vil begrænse din app. Klik på afkrydsningsfeltet ud for Alle processorer for at fjerne markeringen af alle CPU-bokse, og vælg derefter mindst en CPU-boks til at markere, hvor hver repræsenterer en fysisk eller logisk kerne. Fraværende CPU-defekter eller unikke overklokkescenarier, det betyder generelt ikke noget, hvilke kerner du vælger.

I vores eksempel ønsker vi at begrænse RipBot264 til fire kerner, hvilket giver masser af plads til vores andre mere tidssensitive opgaver. Når du har valgt det ønskede antal kerner, skal du trykke på OK for at lukke vinduet Processoraffinitet. Dine ændringer træder i kraft øjeblikkeligt, og hvis appen allerede var beskæftiget med en CPU-tung opgave, vil du se dens processorbrug falde på alle undtagen de kerner, du valgte.

Når vi først konfigurerer RipBot264 til kun at bruge 4 af vores 16 kerner, falder CPU-forbruget straks på de resterende kerner.
Med denne opsætning kan vi lade RipBot264 kode så hurtigt som muligt på disse fire kerner, men de resterende tolv kerner i vores system er gratis at håndtere andre apps. Hvis vi senere afslutter vores andet arbejde og ønsker at gendanne den fulde ydelse til RipBot264, kan vi blot gentage trinnene ovenfor for at gå tilbage til vinduet Processor Affinity og derefter markere afkrydsningsfeltet Alle processorer for endnu en gang at give app'en adgang til alle vores CPU'er kerner.forbehold
Ud over de stabilitetsproblemer, der er nævnt tidligere, er der en anden stor advarsel, du skal overveje. Alle ændringer, du foretager i processoraffinitet, nulstilles, når denne proces genstartes. Dette betyder, at du som minimum skal gentage disse trin, hver gang du genstarter din pc. Nogle processer er dog endnu mere besværlige, da de indlæses automatisk afhængigt af appens instruktioner. I vores RipBot264-opsætning starter for eksempel H.264-kodeprocessen, vi ændrede, over hver gang appen går videre til kodning af en ny videofil.
Du kan muligvis omgå denne begrænsning ved at oprette tilpassede scripts, der indstiller din app's processoraffinitet via en kommandolinjebaseret batchfil eller genvej, men nogle apps bruger muligvis unikke eller tilfældige processer, der gør en sådan indsats vanskelig eller umulig. Det er derfor bedst at eksperimentere individuelt med hver app, du ønsker at begrænse, for at finde den bedste måde at manuelt konfigurere processoraffinitet.






