Provided by: util-linux-locales_2.41-4ubuntu3_all bug

NUME

       taskset - stabilește sau recuperează afinitatea CPU a unui proces

REZUMAT

       taskset [opțiuni] masca comanda [argument...]

       taskset [opțiuni] -p [masca] pid

DESCRIERE

       Comanda taskset este utilizată pentru a stabili sau a prelua afinitatea CPU a unui proces în curs de
       execuție, având în vedere pid-ul acestuia, sau pentru a lansa o nouă comandă cu o anumită afinitate CPU.
       Afinitatea CPU este o proprietate a planificatorului care „leagă” un proces de un anumit set de CPU-uri
       din sistem. Planificatorul Linux va respecta afinitatea CPU dată, iar procesul nu va rula pe alte
       CPU-uri. Rețineți că planificatorul Linux acceptă și afinitatea naturală a CPU: planificatorul încearcă
       să mențină procesele pe același CPU cât mai mult timp posibil din motive de performanță. Prin urmare,
       forțarea unei afinități CPU specifice este utilă numai în anumite aplicații. Afinitatea unor procese, cum
       ar fi firele per-CPU ale nucleului, nu poate fi definită.

       Afinitatea CPU este reprezentată ca o mască de biți, cu bitul de ordinul cel mai mic corespunzând primei
       CPU logice și bitul de ordinul cel mai mare corespunzând ultimei CPU logice. Este posibil să nu existe
       toate CPU-urile pe un anumit sistem, dar o mască poate specifica mai multe CPU-uri decât cele prezente. O
       mască recuperată va reflecta numai biții care corespund CPU-urilor aflate fizic în sistem. În cazul în
       care se indică o mască nevalidă (adică una care nu corespunde niciunui CPU valid de pe sistemul curent),
       se returnează o eroare. Măștile pot fi specificate în hexazecimal (cu sau fără un "0x" de început) sau
       sub forma unei liste de CPU-uri cu ajutorul opțiunii --cpu-list. De exemplu,

       0x00000001
           reprezintă procesorul nr. 0,

       0x00000003
           reprezintă procesoarele nr. 0 și nr. 1,

       FFFFFFFF
           reprezintă procesoarele de la nr. 0 la nr. 31,

       0x32
           reprezintă procesoarele nr. 1, nr. 4 și nr. 5,

       --cpu-list 0-2,6
           reprezintă procesoarele nr. 0, nr. 1, nr. 2 și nr. 6.

       --cpu-list 0-10:2
           reprezintă procesoarele nr. 0, nr. 2, nr. 4, nr. 6, nr. 8 și nr. 10. Sufixul „:N” specifică
           intervalul de valori, de exemplu 0-10:3 este interpretat ca fiind lista 0,3,6,9.

       Când taskset returnează, se garantează că programul dat a fost planificat pentru un procesor (CPU) legal.

OPȚIUNI

       -a, --all-tasks
           Stabilește sau recuperează atributele de planificare ale tuturor sarcinilor (fire de execuție) pentru
           PID-ul furnizat.

       -c, --cpu-list
           Interpretează masca ca o listă numerică de procesoare în loc de o mască de biți. Numerele sunt
           separate prin virgule și pot include intervale. De exemplu: 0,5,8-11.

       -p, --pid
           Operează pe un PID existent și nu lansează o sarcină nouă.

       -h, --help
           Afișează acest mesaj de ajutor și iese.

       -V, --version
           Afișează versiunea și iese.

UTILIZARE

       Comportamentul implicit este de a rula o nouă comandă cu o mască de afinitate dată:
           taskset masca comanda [argumente]

       De asemenea, puteți prelua afinitatea CPU a unei sarcini existente:
           taskset -p pid

       Sau s-o stabiliți:
           taskset -p masca pid

       Când se specifică o listă de cpu-uri pentru un proces existent, opțiunile -p și -c trebuie să fie grupate
       împreună:
           taskset -pc cpu-list pid

       Forma --cpu-list se aplică numai pentru lansarea de noi comenzi:
           taskset --cpu-list cpu-list comanda

PERMISIUNI

       Un utilizator poate modifica afinitatea CPU a unui proces aparținând aceluiași utilizator. Un utilizator
       trebuie să posede CAP_SYS_NICE pentru a modifica afinitatea CPU a unui proces aparținând unui alt
       utilizator. Un utilizator poate prelua masca de afinitate a oricărui proces.

VALOAREA RETURNATĂ

       taskset returnează 0 în acest mod de obținere a afinităților atât timp cât există PID-ul furnizat.

       taskset returnează 0 în modul său de stabilire a afinității atât timp cât apelul de sistem
       sched_setaffinity(2) care stă la baza acestuia o face. Succesul comenzii nu garantează faptul că firul
       specificat a migrat efectiv către procesorul (procesoarele) indicat(e), ci doar că firul nu va migra
       către un procesor aflat în afara noii măști de afinitate. De exemplu, afinitatea firului nucleului kswapd
       poate fi definită, dar este posibil ca firul să nu migreze imediat și nu este garantat că o va face
       vreodată:

       $ ps ax -o comm,psr,pid | grep kswapd +
       kswapd0           4      82 +
       $ sudo taskset -p 1 82 +
       pid 82’s current affinity mask: 1 +
       pid 82’s new affinity mask: 1 +
       $ echo $? +
       0 +
       $ ps ax -o comm,psr,pid | grep kswapd +
       kswapd0           4      82 +
       $ taskset -p 82 +
       pid 82’s current affinity mask: 1

       În schimb, atunci când utilizatorul specifică o afinitate ilegală, taskset va afișa o eroare și va
       returna 1:

       $ ps ax -o comm,psr,pid | grep ksoftirqd/0 +
       ksoftirqd/0       0      14 +
       $ sudo taskset -p 1 14 +
       pid 14’s current affinity mask: 1 +
       taskset: failed to set pid 14’s affinity: Invalid argument +
       $ echo $? +
       1

AUTORI

       Scris de Robert M. Love.

DREPTURI DE AUTOR

       Drepturi de autor © 2004 Robert M. Love. Acesta este un software liber; consultați sursa pentru
       condițiile de copiere. Nu există nicio garanție; nici măcar pentru COMERCIALIZARE sau ADECVARE LA UN SCOP
       PARTICULAR.

CONSULTAȚI ȘI

       chrt(1), nice(1), renice(1), sched_getaffinity(2), sched_setaffinity(2)

       Consultați sched(7) pentru o descriere a schemei de planificare Linux.

RAPORTAREA ERORILOR

       Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor
       <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITATE

       Comanda taskset face parte din pachetul util-linux care poate fi descărcat de la Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                         TASKSET(1)