IONICE(1) Användarkommandon IONICE(1)

ionice - ange eller hämta klass och prioritet för schemaläggning av process-I/O

ionice [-c klass] [-n nivå] [-t] -p PID

ionice [-c klass] [-n nivå] [-t] -P PGID

ionice [-c klass] [-n nivå] [-t] -u UID

ionice [-c klass] [-n nivå] [-t] kommando [argument] ...

Det här programmet anger eller hämtar I/O-schemaläggningsklass och prioritet för ett program. Om inga argument eller bara -p anges, kommer ionice att fråga efter den aktuella I/O-schemaläggningsklassen och prioriteten för den processen.

När kommando anges kommer ionice att köra detta kommando med de angivna argumenten. Om ingen klass anges kommer kommando att utföras med schemaläggningsklassen "best-effort". Standardprioritetsnivån är 4.

I skrivande stund kan en process ingå i en av tre schemaläggningsklasser:

Idle

Ett program som körs med idle I/O-prioritet får disktid endast när inget annat program har begärt disk-I/O under en definierad frist. Inverkan av en ledig I/O-process på normal systemaktivitet bör vara noll. Den här schemaläggningsklassen tar inte emot något prioritetsargument. För närvarande är den här schemaläggningsklassen tillåten för en vanlig användare (sedan kernel 2.6.25).

Best-effort

Detta är den effektiva schemaläggningsklassen för alla processer som inte har begärt en specifik I/O-prioritet. Klassen tar emot ett prioritetsargument från 0-7, där ett lägre tal innebär högre prioritet. Program som körs med samma best-effort-prioritet betjänas enligt ett round-robin-princip.

Observera att före kernel 2.6.26 använder en process som inte har begärt en I/O-prioritet formellt "none" som schemaläggningsklass, men I/O-schemaläggaren behandlar sådana processer som om de vore i best-effort-klassen. Prioriteten inom best-effort-klassen kommer att härledas dynamiskt från processens CPU nice-nivå: io_priority = (cpu_nice + 20) / 5.

För kärnor efter 2.6.26 med CFQ I/O-schemaläggare ärver en process som inte har bett om en I/O-prioritet sin CPU-schemaläggningsklass. I/O-prioriteten härleds från processens CPU nice-nivå (samma som före kärnan 2.6.26).

Realtime

Schemaläggningsklassen RT får först tillgång till disken, oavsett vad som händer i systemet i övrigt. RT-klassen måste därför användas med viss försiktighet, eftersom den kan leda till att andra processer får för lite tid. Precis som för klassen best-effort definieras 8 prioritetsnivåer som anger hur stor tidsandel en viss process kommer att få i varje schemaläggningsfönster. Den här schemaläggningsklassen är inte tillåten för en vanlig användare (dvs. en användare som inte är root).

-c, --class klass

Ange namnet eller numret på den schemaläggningsklass som ska användas; 0 för ingen, 1 för realtid, 2 för bästa ansträngning, 3 för tomgång.

-n, --classdata nivå

Ange data för schemaläggningsklassen. Detta har endast effekt om klassen accepterar ett argument. För realtid och best-effort är 0-7 giltiga data (prioritetsnivåer), och 0 representerar den högsta prioritetsnivån.

-p, --pid PID...

Ange process-ID för de pågående processer för vilka schemaläggningsparametrarna ska hämtas eller ställas in.

-P, --pgid PGID...

Ange processgrupps-ID för de pågående processer för vilka schemaläggningsparametrarna ska hämtas eller ställas in.

-t, --ignore

Ignorera misslyckande med att ställa in den begärda prioriteten. Om kommando angavs, kör det även om det inte gick att ange önskad schemaläggningsprioritet, vilket kan hända på grund av otillräckliga privilegier eller en gammal kärnversion.

-u, --uid UID...

Ange användar-ID för de processer som körs och för vilka schemaläggningsparametrarna ska hämtas eller ställas in.

-h, --help

Visa hjälptext och avsluta.

-V, --version

Visa version och avsluta.

Linux stöder I/O-schemaläggningsprioriteringar och -klasser sedan 2.6.13 med CFQ I/O-schemaläggare.

•# ionice -c 3 -p 89

Ställer in processen med PID 89 som en ledig I/O-process.

•# ionice -c 2 -n 0 bash

Kör 'bash' som ett program med högsta prioritet.

•# ionice -p 89 91

Skriver ut klass och prioritet för processerna med PID 89 och 91.

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

ioprio_set(2)

För felrapporter, använd felhanteraren https://github.com/util-linux/util-linux/issues.

Kommandot ionice ingår i paketet util-linux som kan hämtas från Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1