Scroll to navigation

IONICE(1) Команди користувача IONICE(1)

НАЗВА

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

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

ionice [-c клас] [-n рівень] [-t] -p PID

ionice [-c клас] [-n рівень] [-t] -P PGID

ionice [-c клас] [-n рівень] [-t] -u UID

ionice [-c клас] [-n рівень] [-t] команда [аргумент] ...

ОПИС

Ця програма встановлює або отримує клас і пріоритетність планування введення-виведення для певної програми. Якщо не вказано аргументів або вказано лише -p, ionice надсилатиме запит щодо класу і пріоритетності планування поточного введення-виведення для відповідного процесу.

Якщо вказано команду, ionice запустить цю команду із вказаними аргументами. Якщо клас не вказано, команду буде виконано із класом планування «найкращі зусилля» («best-effort»). Типовим рівнем пріоритетності є 4.

На час написання цієї сторінки процес може належати до одного з трьох класів планування:

Бездіяльність

Програма, яка працює із лінивою пріоритетністю, отримуватиме час для роботи з диском, якщо ніяка інша програма не просить про квоту для введення-виведення на диск протягом періоду лояльності. Вплив процесу із лінивим введенням-виведенням на звичайну роботу системи має бути нульовим. Цей клас планування не приймає аргументу пріоритетності. На сьогодні, цей клас планування є дозволеним для звичайних користувачів (з часу появи 2.6.25).

Оптимальне навантаження

Це клас планування для будь-якого процесу, для якого не визначено певного рівня пріоритетності введення-виведення. Цей клас приймає аргумент пріоритетності 0-7, де менші числа означають вищу пріоритетність. Програми, які працюють на одному рівні пріоритетності найкращих зусиль, обслуговуються у циклічний спосіб.

Зауважте, що до ядра 2.6.26 процес, який не просив про пріоритетність введення-виведення формально використовував клас планування «none», але засіб планування введення-виведення обробляв такі процеси так, наче вони належать до класу найкращих зусиль. Пріоритетність у межах класу найкращих зусиль буде динамічно визначено за рівнем пріоритетності для процесора: пріоритетність_введення_виведення = (пріоритетність_у_процесорі + 20) / 5.

Для ядер після 2.6.26 із планувальником введення-виведення CFQ процес, який не надіслав запиту щодо пріоритетності введення-виведення, успадковує клас планування свого процесора. Пріоритетність введення-виведення є похідною від рівня пріоритетності процесу у процесорі (те саме, що і до ядра 2.6.26).

Режим реального часу

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

ПАРАМЕТРИ

-c, --class клас

Вказати назву або число класу планування, яким слід скористатися; «0» — немає, «1» — планування реального часу, «2» — найкращі зусилля, «3» — лінивий.

-n, --classdata рівень

Вказати дані класу планування. Буде враховано, лише якщо клас приймає аргумент. Для класів планування реального часу та найкращих зусиль коректними є значення 0-7 (рівні пріоритетності), а «0» відповідає найвищому рівню пріоритетності.

-p, --pid PID...

Вказати ідентифікатори процесів для запущених процесів, для яких слід отримати або встановити параметри планування.

-P, --pgid PGID...

Вказати ідентифікатори груп процесів для запущених процесів, для яких слід отримати або встановити параметри планування.

-t, --ignore

Ігнорувати помилки при встановленні бажаної пріоритетності. Якщо було вказано команду, запустити її, навіть якщо неможливо встановити бажану пріоритетність планування, що може трапитися через недостатні права доступу або стару версію ядра.

-u, --uid UID...

Вказати ідентифікатори користувача для запущених процесів, для яких слід отримати або встановити параметри планування.

-h, --help

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

-V, --version

Вивести дані щодо версії і завершити роботу.

ПРИМІТКИ

У Linux передбачено підтримку пріоритетності та класів планування введення-виведення з версії 2.6.13, із введенням планувальника введення-виведення CFQ.

ПРИКЛАДИ

•# ionice -c 3 -p 89

Встановлює процес із PID 89 як процес із лінивим введенням-виведенням..

•# ionice -c 2 -n 0 bash

Запускає «bash» як програму із найкращими зусиллями і найвищою пріоритетністю.

•# ionice -p 89 91

Виводить клас і пріоритетність процесів із PID 89 і 91.

АВТОРИ

Jens Axboe <jens@axboe.dk>, Karel Zak <kzak@redhat.com>

ДИВ. ТАКОЖ

ioprio_set(2)

ЗВІТИ ПРО ВАДИ

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

ДОСТУПНІСТЬ

ionice є частиною пакунка util-linux, який можна отримати з Linux Kernel Archive <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.

11 травня 2022 року util-linux 2.38.1