BEZEICHNUNG¶
ionice - setzt oder ermittelt die E/A-Scheduling-Klasse und -Priorität
eines Prozesses
ÜBERSICHT¶
ionice [
-c Klasse] [
-n Stufe] [
-t]
-p PID …
ionice [
-c Klasse] [
-n Stufe] [
-t]
-P PGID …
ionice [
-c Klasse] [
-n Stufe] [
-t]
-u UID …
ionice [
-c Klasse] [
-n Stufe] [
-t]
Befehl[
Argument…]
BESCHREIBUNG¶
Dieses Programm setzt oder ermittelt die E/A-Scheduling-Klasse und
-Priorität eines Prozesses. Falls keine Argumente oder nur
-p
angegeben ist, fragt
ionice die aktuelle E/A-Scheduling-Klasse und
-Priorität dieses Prozesses ab.
Wenn ein
Befehl angegeben ist, führt
ionice diesen Befehl
mit den übergebenen Argumenten aus. Falls keine
Klasse angegeben
wird, dann wird der
Befehl mit der
»Best-effort«-Scheduling-Klasse ausgeführt. Die
vorgegebene Prioritätsstufe ist 4.
Derzeit kann ein Prozess in eine dieser drei Scheduling-Klassen eingeordnet
werden:
- Idle
- Ein Programm, das mit der E/A-Priorität »Idle«
ausgeführt wird, erhält nur Zeit für
Festplattenzugriffe zugewiesen, wenn kein weiteres Programm dies
für einen bestimmten Zeitraum angefordert hat. Der Einfluss eines
Idle-E/A-Prozesses auf die normalen Systemaktivitäten sollte Null
sein. Diese Scheduling-Klasse akzeptiert kein Prioritätsargument.
Derzeit ist die Vergabe dieser Scheduling-Klasse einem gewöhnlichen
Benutzer erlaubt (seit Kernel 2.6.25).
- Best-effort
- Dies ist die effektive Scheduling-Klasse für jeden Prozess, der
keine spezifische E/A-Priorität angefordert hat. Diese Klasse
akzeptiert die Prioritäts-Argumente 0-7, wobei die
niedrigere Zahl eine höhere Priorität ausdrückt.
Programme, die mit der gleichen Best-Effort-Priorität laufen,
werden im Rundlauf-Verfahren bedient.
Beachten Sie, dass mit Kerneln älter als 2.6.26 ein Prozess, der
keine E/A-Priorität angefordert hat, formell »
none« als Scheduling-Klasse verwendet. Doch wird der
E/A-Scheduler solche Prozesse so betrachten, als gehörten sie der
Best-Effort-Klasse an. Die Priorität innerhalb der
Best-Effort-Klasse wird dynamisch aus der CPU-Nice-Stufe des Prozesses
abgeleitet: E/A-Priorität = (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-Priorität angefordert hat, dessen
CPU-Scheduling-Klasse. Die E/A-Priorität 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
Vorgänge 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 Prioritätsstufen verfügbar, welche angeben, wie
groß die Zeitscheibe ist, die ein angegebener Prozess in jedem
Scheduling-Zeitfenster erhält. Diese Scheduling-Klasse ist
für einen gewöhnlichen Benutzer ohne Administratorrechte
verboten.
OPTIONEN¶
- -c, --class Klasse
- gibt den Namen oder die Nummer der gewünschten Scheduling-Klasse
an. 0 für keine, 1 für Realtime, 2
für Best-Effort, 3 für Idle.
- -n, --classdata Stufe
- gibt die Scheduling-Klassendaten an. Dies ist nur wirksam, wenn die Klasse
ein Argument akzeptiert. Für »Realtime« und
»Best-Effort« sind 0-7 möglich (als
Prioritätsstufen).
- -p, --pid PID...
- gibt die Prozesskennungen (PIDs) der laufenden Prozesse an, für die
die Scheduling-Parameter gesetzt oder ermittelt werden sollen.
- -P, --pgid PGID …
- gibt die Prozessgruppenkennungen (PGIDs) der laufenden Prozesse an,
für die die Scheduling-Parameter gesetzt oder ermittelt werden
sollen.
- -t, --ignore
- ignoriert fehlgeschlagenes Setzen der angeforderten Priorität.
Falls ein Befehl angegeben wurde, wird dieser selbst dann
ausgeführt, wenn es nicht möglich war, die gewünschte
Scheduling-Priorität zu setzen. Dies kann bei unzureichenden
Zugriffsrechten oder alten Kernel-Versionen passieren.
- -h, --help
- zeigt eine Hilfe an und beendet das Programm.
- -u, --uid UID …
- gibt die Benutzerkennungen (UIDs) der laufenden Prozesse an, für
die die Scheduling-Parameter gesetzt oder ermittelt werden sollen.
- -V, --version
- zeigt Versionsinformationen an und beendet das Programm.
BEISPIELE¶
- # ionice -c 3 -p 89
- setzt den Prozess mit der PID 89 als Idle-E/A-Prozess.
- # ionice -c 2 -n 0 bash
- führt »bash« als Best-Effort-Programm mit
höchster Priorität aus.
- # ionice -p 89 91
- gibt die Klasse und Priorität der Prozesse mit den PIDs 89 und 91
aus.
ANMERKUNGEN¶
Linux unterstützt E/A-Scheduling-Prioritäten und -Klassen seit
Version 2.6.13 mit dem CFQ-E/A-Scheduler.
AUTOREN¶
Jens Axboe <jens@axboe.dk>
Karel Zak <kzak@redhat.com>
VERFÜGBARKEIT¶
Der Befehl ionice ist Teil des Pakets util-linux und kann von
ftp://ftp.kernel.org/pub/linux/utils/util-linux/ heruntergeladen werden.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario
Blättermann <mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General
Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.