НАЗВА

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

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

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

ОПИС

Команду taskset призначено для встановлення або отримання спорідненості до процесора для запущено процесу, заданого за допомогою pid, або запуску нової команди із заданою спорідненістю до процесора. Спорідненість до процесора є властивістю планувальника, яка «пов'язує» процес із заданим набором процесорів у системі. Планувальник Linux враховуватиме задану спорідненість до процесора, і процес не працюватиме на будь-яких інших процесорах. Зауважте, що у планувальнику Linux також передбачено підтримку природної спорідненості до процесорів: планувальник намагається зберігати процеси на якомусь одному процесорі, доки це є практичним з міркувань швидкодії. Через це примусове визначення спорідненості до процесорів є корисним лише у деяких програмах.
 
Спорідненість до процесора визначається бітовою маскою, де біт найнижчого порядку відповідає першому логічному процесору, а біт найвищого порядку відповідає останньому логічному процесору. У певній системі можуть існувати не усі процесори, але маска може задавати більше процесорів, ніж існує. Отримана маска відповідатиме лише бітам, які фізично існують у системі. Якщо задано некоректну маску (тобто маска не відповідає жодним коректним процесорам у поточній системі), буде повернуто повідомлення про помилку. Маски може бути задано у шістнадцятковій формі (з початковим «0x» або без нього) або як список процесорів в аргументі --cpu-list. Приклад:
 
0x00000001
це процесор із номером 0,
 
0x00000003
це процесори із номерами 0 і 1,
 
0xFFFFFFFF
це процесори із номерами від 0 до 31,
 
32
це процесори із номерами 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

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

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

АВТОРИ

Написано 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 Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

ПЕРЕКЛАД

Український переклад цієї сторінки посібника виконано Andriy Rysin <[email protected]> і Yuri Chornoivan <[email protected]>
Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: [email protected]

Recommended readings

Pages related to taskset you should read also: