IONICE(1) Dienstprogramme fur Benutzer IONICE(1) BEZEICHNUNG ionice - setzt oder ermittelt die E/A-Scheduling-Klasse und -Prioritat eines Prozesses UBERSICHT ionice [-c Klasse] [-n Stufe] [-t] -p PID ionice [-c Klasse] [-n Stufe] [-t] -p PGID ionice [-c Klasse] [-n Stufe] [-t] -p UID ionice [-c Klasse] [-n Stufe] [-t] Befehl [Argument] ... BESCHREIBUNG Dieses Programm setzt oder ermittelt die E/A-Scheduling-Klasse und -Prioritat eines Prozesses. Falls keine Argumente oder nur -p angegeben ist, fragt ionice die aktuelle E/A-Scheduling-Klasse und -Prioritat dieses Prozesses ab. Wenn ein Befehl angegeben ist, fuhrt ionice diesen Befehl mit den ubergebenen Argumenten aus. Falls keine Klasse angegeben wird, dann wird der Befehl mit der >>Best-effort<<-Scheduling-Klasse ausgefuhrt. Die vorgegebene Prioritatsstufe ist 4. Derzeit kann ein Prozess in eine dieser drei Scheduling-Klassen eingeordnet werden: Idle Ein Programm, das mit der E/A-Prioritat >>Idle<< ausgefuhrt wird, erhalt nur Zeit fur Festplattenzugriffe zugewiesen, wenn kein weiteres Programm dies fur einen bestimmten Zeitraum angefordert hat. Der Einfluss eines Idle-E/A-Prozesses auf die normalen Systemaktivitaten sollte Null sein. Diese Scheduling-Klasse akzeptiert kein Prioritatsargument. Derzeit ist die Vergabe dieser Scheduling-Klasse einem gewohnlichen Benutzer erlaubt (seit Kernel 2.6.25). Best-effort Dies ist die effektive Scheduling-Klasse fur jeden Prozess, der keine spezifische E/A-Prioritat angefordert hat. Diese Klasse akzeptiert die Prioritats-Argumente 0-7, wobei die niedrigere Zahl eine hohere Prioritat ausdruckt. Programme, die mit der gleichen Best-Effort-Prioritat laufen, werden im Rundlauf-Verfahren bedient. Beachten Sie, dass mit Kerneln alter als 2.6.26 ein Prozess, der keine E/A-Prioritat angefordert hat, formell >>none<< als Scheduling-Klasse verwendet. Doch wird der E/A-Scheduler solche Prozesse so betrachten, als gehorten sie der Best-Effort-Klasse an. Die Prioritat innerhalb der Best-Effort-Klasse wird dynamisch aus der CPU-Nice-Stufe des Prozesses abgeleitet: E/A-Prioritat = (CPU-Nice-Klasse + 20) / 5. Mit Kerneln der Version 2.6.26 oder neuer mit CFQ-E/A-Scheduler erbt ein Prozess, der keine E/A-Prioritat angefordert hat, dessen CPU-Scheduling-Klasse. Die E/A-Prioritat wird aus der CPU-Nice-Stufe des Prozesses abgeleitet (wie auch in Kernels vor 2.6.26). Realtime Die Scheduling-Klasse >>Realtime<< hat Vorrang vor anderen Prozessen bei Festplattenzugriffen, ganz gleich welche anderen Vorgange im System ablaufen. Deshalb sollte die Realtime-Klasse mit gewisser Vorsicht verwendet werden, weil sie andere Prozesse regelrecht >>aushungern<< kann. Wie auch bei der Best-Effort-Klasse sind 8 Prioritatsstufen verfugbar, welche angeben, wie gross die Zeitscheibe ist, die ein angegebener Prozess in jedem Scheduling-Zeitfenster erhalt. Diese Scheduling-Klasse ist fur einen gewohnlichen Benutzer ohne Administratorrechte verboten. OPTIONEN -c, --class Klasse gibt den Namen oder die Nummer der gewunschten Scheduling-Klasse an. >>0<< fur keine, >>1<< fur Realtime, >>2<< fur Best-Effort, >>3<< fur Idle. -n, --classdata Stufe gibt die Scheduling-Klassendaten an. Dies ist nur wirksam, wenn die Klasse ein Argument akzeptiert. Fur >>Realtime<< und >>Best-Effort<< sind 0-7 moglich (als Prioritatsstufen) und >>0<< reprasentiert die hochste Prioritatsstufe. -p, --pid PID... gibt die Prozesskennungen (PIDs) der laufenden Prozesse an, fur die die Scheduling-Parameter gesetzt oder ermittelt werden sollen. -P, --pgid PGID... gibt die Prozessgruppenkennungen (PGIDs) der laufenden Prozesse an, fur die die Scheduling-Parameter gesetzt oder ermittelt werden sollen. -t, --ignore ignoriert fehlgeschlagenes Setzen der angeforderten Prioritat. Falls ein Befehl angegeben wurde, wird dieser selbst dann ausgefuhrt, wenn es nicht moglich war, die gewunschte Scheduling-Prioritat zu setzen. Dies kann bei unzureichenden Zugriffsrechten oder alten Kernel-Versionen passieren. -u, --uid UID... gibt die Benutzerkennungen (UIDs) der laufenden Prozesse an, fur die die Scheduling-Parameter gesetzt oder ermittelt werden sollen. -h, --help zeigt einen Hilfetext an und beendet das Programm. -V, --version Display version and exit. ANMERKUNGEN Linux unterstutzt E/A-Scheduling-Prioritaten und -Klassen seit Version 2.6.13 mit dem CFQ-E/A-Scheduler. BEISPIELE o # ionice -c 3 -p 89 setzt den Prozess mit der PID 89 als Idle-E/A-Prozess. o # ionice -c 2 -n 0 bash fuhrt >>bash<< als Best-Effort-Programm mit hochster Prioritat aus. o # ionice -p 89 91 gibt die Klasse und Prioritat der Prozesse mit den PIDs 89 und 91 aus. AUTOREN Jens Axboe <jens@axboe.dk>, Karel Zak <kzak@redhat.com> SIEHE AUCH ioprio_set(2) FEHLER MELDEN For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. VERFUGBARKEIT Der Befehl ionice ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann. util-linux 2.41 2025-03-29 IONICE(1)