Scroll to navigation

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

НАЗВА

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

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

ionice [-c class] [-n level] [-t] -p PID

ionice [-c class] [-n level] [-t] -P PGID

ionice [-c class] [-n level] [-t] -u UID

ionice [-c class] [-n level] [-t] command [argument] ...

ОПИС

Ця програма встановлює або отримує клас і пріоритетність планування введення-виведення для певної програми. Якщо не вказано аргументів або вказано лише -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 <https://www.kernel.org/pub/linux/utils/util-linux/>.

2024-04-27 util-linux 2.40