table of contents
- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
TASKSET(1) | Команди користувача | TASKSET(1) |
НАЗВА¶
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 і не запускати нового завдання.
- -V, --version
- Вивести дані щодо версії і завершити роботу.
- -h, --help
- Вивести текст довідки і завершити роботу.
КОРИСТУВАННЯ¶
- Типовою поведінкою є запуск нової команди із заданою маскою спорідненості:
- 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.
ДОСТУПНІСТЬ¶
Програма taskset є частиною пакунка util-linux і доступна за адресою https://www.kernel.org/pub/linux/utils/util-linux/.
ПЕРЕКЛАД¶
Український переклад цієї сторінки посібника виконано Andriy Rysin <arysin@gmail.com> і Yuri Chornoivan <yurchor@ukr.net>
Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3. НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.
Серпень 2014 року | util-linux |