Bearbetning med flera kärnor kan ha fördelar och nackdelar, och ibland måste du manuellt tilldela CPU-kärnor till program (även kallad ”CPU-affinitet”) för att få bästa prestanda. Under Linux är det primära verktyget arbetsuppsättning. Det låter potentiellt läskigt, men vi delar upp det i enkla steg för att förenkla processen.
Grunderna för Taskset
Användning av arbetsuppsättning kan delas upp i två delar: CPU-affinitet med program som ska startas och med program som redan körs. Att starta program är det enklaste av de två, så vi börjar där. Ett startkommando ser ut så här:
taskset -c cpu-core-number(s) application
Innan du anger antalet CPU-kärnor som du vill tilldela, glöm inte att ett Unix-numreringsschema vanligtvis börjar vid 0, så din första kärna blir 0, din andra kärna 1 och så vidare. Således kommer en dubbelkärnig maskin att ha kärnor 0 och 1 och en fyrkärnig maskin kommer att ha kärnor 0, 1, 2 och 3.
Låt oss säga att du vill köra Audacity på ett dual-core-system och att du vill att det ska köras på din andra kärna. Det kommandot skulle vara:
taskset -c 1 audacity
Använda flera kärnor
På en av våra maskiner tappar Chrome ibland ramar när man streamer video men uppför sig när den tilldelas två kärnor. Om du vill prova samma sak på ett fyrkärnigt system och vill tilldela Chrome till kärnor tre och fyra skulle kommandot vara:
taskset -c 2,3 google-chrome
Du behöver inte tilldela CPU-affinitet till sekventiella kärnor – du kan välja valfri kärna slumpmässigt. Låt oss säga att du har en sexkärnig maskin och vill använda Chrome på kärnor två och sex. Du skriver in kommandot:
taskset -c 1,5 google-chrome
Du kan också använda ett streck för att sprida en applikation över flera kärnor. Till exempel kommer många äldre program eller systemfunktioner som standard på din första kärna. Vad händer om du vill lämna den första kärnan så fri som möjligt medan du sprider en stor applikation över alla dina andra kärnor?
Låt oss säga att du har ett åttakärnigt system och vill köra Steam från den andra kärnan till den åttonde. Det kommandot skulle vara:
taskset -c 1-7 steam
Ändrar affinitet för ett program som redan har lanserats
Taskset är inte bara begränsat till att starta applikationer. Du kan också ändra CPU-affiniteten för ett program som redan körs. Innan du kan ändra en applikations tillhörighet måste du först känna till dess process-ID (eller PID för kort).
För att ta reda på programmets PID kan du försöka använda datorns systemmonitor, men det snabbaste sättet är bara att använda top
. Inte överraskande använder den kommandot:
top
Namnen på alla kommandon som körs finns på höger sida av skärmen. Motsvarande process-ID finns till vänster.

Skriv ner din PID när du använder den på ett ögonblick. I det här exemplet använder vi VLC, som är mitt i att spela en högupplöst Matroska-video på en äldre dator med sex kärnor. Vi experimenterar med olika CPU-affiniteter för att få bästa möjliga prestanda från VLC.
För att ändra affiniteten för en befintlig process ser syntaxen ut så här:
taskset -cp core-numbers PID
Om du kan se vår skärmdump ovan är VLC: s process-ID 20485. Vi ska försöka köra VLC på den fjärde, femte och sjätte kärnan, vilket i Unix-numrering kommer att vara 3-5. Så efter allt detta kommer kommandot att vara:
taskset -cp 3-5 20485
Men tänk om du vill kolla in den befintliga affiniteten innan du byter den För det, ange inga kärnnummer, och arbetsuppsättningen kommer att berätta hur tillhörigheten tilldelas. Så om vi ändrar det sista kommandot till:
taskset -cp 20485
det visar oss att VLC sprids över alla kärnor.

Låt oss prova det igen med ett annat program. Låt oss säga att vi kör en stor Matroska med SMPlayer istället, och SMPlayer har redan lanserats. Topp säger att PID är 16058.

Men först vill vi veta dess befintliga tillhörighet. Använd kommandot med -cp
byta men inga kärnnummer kan vi se att affiniteten för närvarande är spridd över alla kärnor.

Nu kan vi försöka sprida SMPlayer över samma tre kärnor som VLC-experimentet med kommandot:
taskset -cp 3-5 16058
Det är enkelt, eller hur? Om du vill mäta din dator, kolla in vår guide om 8 användbara verktyg för att stresstesta din CPU.
Relaterad:
-
100% CPU-användning i Windows 10? Så här fixar du det
-
AMD vs Intel-processorer: Vilket företag vinner 2019?
-
Förstå din CPU-temperatur och hur du kyler ner den