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

НАЗВА

       taskset - встановлення або отримання спорідненості процесу до процесорів

КОРОТКИЙ ОПИС

       taskset [параметри] маска команда [аргумент...]

       taskset [параметри] -p [маска] pid

ОПИС

       Команду taskset призначено для встановлення або отримання спорідненості до процесора для запущено
       процесу, заданого за допомогою pid, або запуску нової команди із заданою спорідненістю до процесора.
       Спорідненість до процесора є властивістю планувальника, яка «пов’язує» процес із заданим набором
       процесорів у системі. Планувальник Linux враховуватиме задану спорідненість до процесора, і процес не
       працюватиме на будь-яких інших процесорах. Зауважте, що у планувальнику Linux також передбачено підтримку
       природної спорідненості до процесорів: планувальник намагається зберігати процеси на якомусь одному
       процесорі, доки це є практичним з міркувань швидкодії. Через це примусове визначення спорідненості до
       процесорів є корисним лише у деяких програмах. Спорідненість деяких процесів, зокрема потоків окремих
       процесорів ядра встановлювати не можна.

       Спорідненість до процесора визначається бітовою маскою, де біт найнижчого порядку відповідає першому
       логічному процесору, а біт найвищого порядку відповідає останньому логічному процесору. У певній системі
       можуть існувати не усі процесори, але маска може задавати більше процесорів, ніж існує. Отримана маска
       відповідатиме лише бітам, які фізично існують у системі. Якщо задано некоректну маску (тобто маска не
       відповідає жодним коректним процесорам у поточній системі), буде повернуто повідомлення про помилку.
       Маски може бути задано у шістнадцятковій формі (з початковим «0x» або без нього) або як список процесорів
       в аргументі --cpu-list. Приклад:

       0x00000001
           це процесор із номером 0,

       0x00000003
           це процесори із номерами 0 і 1,

       FFFFFFFF
           це процесори із номерами від 0 до 31,

       0x32
           це процесори із номерами 1, 4 і 5,

       --cpu-list 0-2,6
           це процесори із номерами 0, 1, 2 і 6.

       --cpu-list 0-10:2
           це процесори із номерами 0, 2, 4, 6, 8 і 10. Суфікс «:N» вказує крок у діапазоні. Наприклад, 0-10:3 -
           це список 0,3,6,9.

       При поверненні з taskset програма гарантує, що вказану програму заплановано до виконання на коректному
       процесорі.

ПАРАМЕТРИ

       -a, --all-tasks
           Встановити або отримати спорідненість до процесора для усіх завдань (потоків обробки) для вказаного
           PID.

       -c, --cpu-list
           Вважати маску числовим списком процесорів, а не бітовою маскою. Числа слід відокремлювати комами,
           можна включати діапазони. Приклад: 0,5,8-11.

       -p, --pid
           Працювати із наявним PID і не запускати нового завдання.

       -h, --help
           Вивести текст довідки і завершити роботу.

       -V, --version
           Показати дані щодо версії і завершити роботу.

КОРИСТУВАННЯ

       Типовою поведінкою є запуск нової команди із заданою маскою спорідненості:
           taskset маска команда [аргументи]

       Крім того, ви можете отримати спорідненість до процесора для наявного завдання:
           taskset -p pid

       Або встановити спорідненість:
           taskset -p маска pid

       When a cpu-list is specified for an existing process, the -p and -c options must be grouped together:
           taskset -pc pid список-процесорів

       Формою --список-процесорів можна скористатися лише для запуску нових команд:
           taskset --cpu-list список-процесорів команда

ПРАВА ДОСТУПУ

       Користувач може змінити спорідненість до процесора процесу, що належить цьому користувачеві. Користувач
       має бути власником CAP_SYS_NICE, щоб мати змогу змінювати спорідненість до процесора для процесу, який
       належить іншому користувачеві. Користувач може отримувати маску спорідненості для будь-якого процесу.

ПОВЕРНУТЕ ЗНАЧЕННЯ

       taskset returns 0 in its affinity-getting mode as long as the provided PID exists.

       taskset returns 0 in its affinity-setting mode as long as the underlying sched_setaffinity(2) system call
       does. The success of the command does not guarantee that the specified thread has actually migrated to
       the indicated CPU(s), but only that the thread will not migrate to a CPU outside the new affinity mask.
       For example, the affinity of the kernel thread kswapd can be set, but the thread may not immediately
       migrate and is not guaranteed to ever do so:

       $ 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

       In contrast, when the user specifies an illegal affinity, taskset will print an error and return 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

АВТОРИ

       Написано Robert M. Love.

АВТОРСЬКІ ПРАВА

       © Robert M. Love, 2004. Це програмне забезпечення є вільним, умови копіювання викладено у його початкових
       кодах. Умовами ліцензування програми НЕ передбачено жодних гарантій, зокрема гарантій працездатності або
       придатності для певної мети.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

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

       Див. sched(7), щоб ознайомитися зі схемою планування у Linux.

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

       Для звітування щодо вад скористайтеся системою стеження за вадами
       <https://github.com/util-linux/util-linux/issues>

ДОСТУП ДО ПРОГРАМИ

       Програма taskset є частиною пакунка util-linux, який можна отримати з архіву ядра Linux
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

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