Zum Inhalt springen

Ionice: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 54: Zeile 54:
= TMP =
= TMP =
== BESCHREIBUNG ==
== 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
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.
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
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.
vorgegebene Prioritätsstufe ist 4.
 
Derzeit kann ein Prozess in eine dieser drei Scheduling-Klassen eingeordnet werden:


=== Scheduling-Klassen ===
; Idle
; 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
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

Version vom 31. Dezember 2024, 13:25 Uhr

ionice - setzt oder ermittelt die E/A-Scheduling-Klasse und -Priorität eines Prozesses

Beschreibung

Installation

ionice ist Teil des Pakets util-linux

Aufruf

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] ...

Optionen

Unix GNU Parameter Beschreibung
-1 --single Exit as soon as the first advertisement is received (default)

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Problembehebung

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Page
  1. IONICE(1) Dienstprogramme für Benutzer
Info-Pages

Links

Projekt
Weblinks


TMP

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.

Scheduling-Klassen

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) und »0« repräsentiert die höchste Prioritätsstufe.

-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.

-u, --uid UID... gibt die Benutzerkennungen (UIDs) der laufenden Prozesse an, für die die Scheduling-Parameter gesetzt oder ermittelt werden sollen.

-h, --help zeigt einen Hilfetext an und beendet das Programm.

-V, --version zeigt Versionsinformationen an und beendet das Programm.

ANMERKUNGEN

Linux unterstützt E/A-Scheduling-Prioritäten und -Klassen seit Version 2.6.13 mit dem CFQ-E/A-Scheduler.

BEISPIELE

sudo ionice -c 3 -p 89

setzt den Prozess mit der PID 89 als Idle-E/A-Prozess.

sudo ionice -c 2 -n 0 bash

führt »bash« als Best-Effort-Programm mit höchster Priorität aus.

sudo ionice -p 89 91

gibt die Klasse und Priorität der Prozesse mit den PIDs 89 und 91 aus.

SIEHE AUCH

  1. ioprio_set(2)