TASKSET(1) Anvandarkommandon TASKSET(1) NAMN taskset - ange eller hamta en process CPU-affinitet SYNOPSIS taskset [flaggor] mask kommando [argument...] taskset [flaggor] -p [mask] pid BESKRIVNING Kommandot taskset anvands for att stalla in eller hamta CPU-affiniteten for en process som kors med hjalp av dess pid, eller for att starta ett nytt kommando med en given CPU-affinitet. CPU-affinitet ar en schemalaggningsegenskap som "binder" en process till en viss uppsattning processorer i systemet. Linux-schemalaggaren kommer att respektera den givna CPU-affiniteten och processen kommer inte att koras pa nagra andra CPU:er. Observera att Linux-schemalaggaren aven stoder naturlig CPU-affinitet: schemalaggaren forsoker halla processerna pa samma CPU sa lange som mojligt av prestandaskal. Att tvinga fram en specifik CPU-affinitet ar darfor endast anvandbart i vissa applikationer. Affiniteten for vissa processer, t.ex. karnans per-CPU-tradar, kan inte stallas in. CPU-affiniteten representeras som en bitmask, dar den lagsta biten motsvarar den forsta logiska CPU:n och den hogsta biten motsvarar den sista logiska CPU:n. Det ar inte sakert att alla processorer finns i ett visst system, men en mask kan ange fler processorer an vad som finns. En hamtad mask kommer endast att aterspegla de bitar som motsvarar processorer som fysiskt finns i systemet. Om en ogiltig mask anges (dvs. en mask som inte motsvarar nagra giltiga processorer i det aktuella systemet) returneras ett felmeddelande. Maskerna kan anges i hexadecimal (med eller utan en inledande "0x") eller som en CPU-lista med flaggan --cpu-list. Till exempel, 0x00000001 ar processor #0, 0x00000003 ar processorerna #0 och #1, FFFFFFFFFF ar processorerna #0 till #31, 0x32 ar processorerna #1, #4 och #5, --cpu-list 0-2,6 ar processorerna #0, #1, #2 och #6. --cpu-list 0-10:2 ar processorer #0, #2, #4, #6, #8 och #10. Suffixet ":N" anger stride i intervallet, t.ex. 0-10:3 tolkas som 0,3,6,9 list. Nar taskset aterkommer ar det garanterat att det givna programmet har schemalagts till en laglig CPU. FLAGGOR -a, --all-tasks Stall in eller hamta CPU-affiniteten for alla uppgifter (tradar) for en given PID. -c, --cpu-list Tolka mask som en numerisk lista over processorer i stallet for en bitmask. Siffrorna separeras med kommatecken och kan innehalla intervall. Till exempel 0,5,8-11. -p, --pid Operate on an existing PID and do not launch a new task. If PID is zero, then operate on the taskset process. -h, --help Visa hjalptext och avsluta. -V, --version Visa version och avsluta. ANVANDNING Standardbeteendet ar att kora ett nytt kommando med en given affinitetsmask: taskset mask kommando [argument] Du kan ocksa hamta CPU-affiniteten for en befintlig uppgift: taskset -p pid Eller stall in den: taskset -p mask pid Nar en cpu-lista anges for en befintlig process maste flaggan -p och -c grupperas tillsammans: taskset -pc cpu-list pid Formularet --cpu-list ar endast tillampligt for att starta nya kommandon: taskset --cpu-lista cpu-lista kommando TILLSTAND En anvandare kan andra CPU-affiniteten for en process som tillhor samma anvandare. En anvandare maste ha CAP_SYS_NICE for att andra CPU-affiniteten for en process som tillhor en annan anvandare. En anvandare kan hamta affinitetsmasken for vilken process som helst. AVSLUTSSTATUS taskset returnerar 0 i sitt affinity-getting-lage sa lange som det angivna PID:et existerar. taskset returnerar 0 i sitt affinitetsinstallningslage sa lange som det underliggande systemanropet sched_setaffinity(2) gor det. Om kommandot lyckas garanterar det inte att den angivna traden faktiskt har migrerat till den eller de angivna processorerna, utan endast att traden inte kommer att migrera till en processor utanfor den nya affinitetsmasken. Till exempel kan affiniteten for karntraden kswapd stallas in, men det ar inte sakert att traden omedelbart migrerar och det ar inte heller sakert att den nagonsin gor det: $ ps ax -o comm,psr,pid | grep kswapd kswapd0 4 82 $ sudo taskset -p 1 82 pid 82:s aktuella affinitetsmask: 1 pid 82:s nya affinitetsmask: 1 $ echo $? 0 $ ps ax -o comm,psr,pid | grep kswapd kswapd0 4 82 $ taskset -p 82 pid 82:s aktuella affinitetsmask: 1 Om anvandaren daremot anger en olaglig affinitet kommer taskset att skriva ut ett felmeddelande och returnera 1: $ ps ax -o comm,psr,pid | grep ksoftirqd/0 ksoftirqd/0 0 14 $ sudo taskset -p 1 14 pid 14:s aktuella affinitetsmask: 1 taskset: misslyckades med att stalla in pid 14:s affinitet: Ogiltigt argument $ echo $? 1 EXEMPEL Print the current CPU affinity as a list. $ taskset -pc 0 pid 1355988's current affinity list: 0-47 UPPHOVSPERSONER Skriven av Robert M. Love. UPPHOVSRATT Copyright (C) 2004 Robert M. Love. Detta ar fri programvara; se kallan for kopieringsvillkor. Det finns INGEN garanti; inte ens for SALJBARHET eller LAMPLIGHET FOR ETT BESTAMMT SYFTE. SE AVEN chrt(1), nice(1), renice(1), sched_getaffinity(2), sched_setaffinity(2) Se sched(7) for en beskrivning av Linux schemalaggningssystem. FELRAPPORTERING For felrapporter, anvand felhanteraren . TILLGANGLIGHET Kommandot taskset ingar i paketet util-linux som kan hamtas fran Linux Kernel Archive . util-linux 2.42.1 2026-05-18 TASKSET(1)