Scroll to navigation

IONICE(1) Comenzi utilizator IONICE(1)

NUME

ionice - stabilește sau obține clasa și prioritatea de planificare In/Ieș a procesului

REZUMAT

ionice [-c clasa] [-n nivel] [-t] -p PID

ionice [-c clasa] [-n nivel] [-t] -P PGID

ionice [-c clasa] [-n nivel] [-t] -u UID

ionice [-c clasa] [-n nivel] [-t] comanda [argument] ...

DESCRIERE

Acest program stabilește sau obține clasa și prioritatea de planificare In/Ieș pentru un program. Dacă nu se furnizează nici un argument sau se dă doar -p, ionice va interoga clasa și prioritatea curentă de planificare In/Ieș pentru acel proces.

Când se dă comanda, ionice va executa această comandă cu argumentele date. Dacă nu se specifică clasa, atunci comanda va fi executată cu clasa de planificare „best-effort”. Nivelul de prioritate implicit este 4.

În momentul redactării acestui articol, un proces poate fi încadrat în una dintre cele trei clase de planificare:

Idle

Un program care rulează cu prioritate de intrare/ieșire în inactivitate va primi timp pe disc numai atunci când niciun alt program nu a solicitat In/Ieș pe disc pentru o perioadă de grație definită. Impactul unui proces de In/Ieș inactiv asupra activității normale a sistemului ar trebui să fie zero. Această clasă de planificare nu acceptă un argument de prioritate. În prezent, această clasă de planificare este permisă pentru un utilizator obișnuit (începând cu kernel 2.6.25).

Best-effort

Aceasta este clasa de planificare efectivă pentru orice proces care nu a cerut o prioritate specifică de In/Ieș. Această clasă primește un argument de prioritate de la 0-7, un număr mai mic reprezentând o prioritate mai mare. Programele care rulează cu aceeași prioritate de cel mai bun efort „best-effort” sunt servite în mod circular.

Rețineți că, înainte de kernel 2.6.26, un proces care nu a cerut o prioritate de In/Ieș folosește în mod formal „none” drept clasă de planificare, dar planificatorul de In/Ieș va trata astfel de procese ca și cum ar fi în clasa „best-effort”. Prioritatea în cadrul clasei „best-effort” va fi derivată dinamic din nivelul de „curtoazie CPU” al procesului: io_priority = (cpu_nice + 20) / 5.

În cazul nucleelor după 2.6.26 cu planificatorul In/Ieș CFQ, un proces care nu a cerut o prioritate In/Ieș moștenește clasa de planificare a CPU. Prioritatea de In/Ieș este derivată din nivelul de curtoazie „nice” al procesului în CPU (la fel ca înainte de nucleul 2.6.26).

Realtime

Clasa de planificare „RT” primește primul acces la disc, indiferent de ce se întâmplă în sistem. Prin urmare, clasa „RT” trebuie utilizată cu o anumită atenție, deoarece poate bloca alte procese. La fel ca în cazul clasei „best-effort”, sunt definite 8 niveluri de prioritate care indică cât de mare va fi partea de timp pe care o va primi un anumit proces la fiecare fereastră de planificare. Această clasă de planificare nu este permisă pentru un utilizator obișnuit (adică un utilizator care nu este root).

OPȚIUNI

-c, --class clasa

Specifică numele sau numărul clasei de planificare care urmează să fie utilizată; „0” pentru niciuna, „1” pentru timp real (realtime), „2” pentru cel mai bun efort (best-effort), „3” pentru inactivitate (idle).

-n, --classdata nivel

Specifică datele privind clasa de programare. Acest lucru are efect numai dacă clasa acceptă un argument. Pentru „realtime” și „best-effort”, 0-7 sunt date valide (niveluri de prioritate), iar „0” reprezintă cel mai înalt nivel de prioritate.

-p, --pid PID...

Specifică ID-urile proceselor în curs de execuție pentru care se obțin sau se stabilesc parametrii de planificare.

-P, --pgid PGID...

Specifică ID-urile grupurilor de procese ale proceselor în curs de execuție pentru care se obțin sau se stabilesc parametrii de planificare.

-t, --ignore

Ignoră eșecul de a stabili prioritatea solicitată. Dacă a fost specificată comanda, se execută chiar și în cazul în care nu a fost posibilă stabilirea priorității de planificare dorite, ceea ce se poate întâmpla din cauza unor privilegii insuficiente sau a unei versiuni vechi a nucleului.

-u, --uid UID...

Specifică ID-urile de utilizator ale proceselor în execuție pentru care se obțin sau se stabilesc parametrii de planificare.

-h, --help

Afișează acest mesaj de ajutor și iese.

-V, --version

Afișează informațiile despre versiune și iese.

NOTE

Linux acceptă prioritățile și clasele de planificare In/Ieș începând cu versiunea 2.6.13 cu planificatorul In/Ieș CFQ.

EXEMPLE

•# ionice -c 3 -p 89

Stabilește procesul cu PID 89 ca proces inactiv de In/Ieș.

•# ionice -c 2 -n 0 bash

Rulează «bash» ca un program „best-effort” cu cea mai mare prioritate.

•# ionice -p 89 91

Afișează clasa și prioritatea proceselor cu PID 89 și 91.

AUTORI

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

CONSULTAȚI ȘI

ioprio_set(2)

RAPORTAREA ERORILOR

Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor la <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITATE

Comanda ionice face parte din pachetul util-linux care poate fi descărcat de la Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-01-09 util-linux 2.40.3