Zum Inhalt springen

Ionice: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „line>“ durch „line copy>“
 
(36 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Beschreibung
'''ionice''' - setzt oder ermittelt die E/A-Scheduling-Klasse und -Priorität eines Prozesses
 
== 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 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
== Installation ==
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line>
''ionice'' ist Teil des Pakets [[util-linux]]


== Aufruf ==
<syntaxhighlight lang="bash" highlight="1-4" line copy>
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] ..
</syntaxhighlight>
</syntaxhighlight>
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>


</syntaxhighlight>
=== Optionen ===
=== Optionen ===
{| class="wikitable sortable options gnu"
{| class="wikitable sortable options gnu"
Zeile 14: Zeile 50:
! Unix !! GNU !! Parameter !! Beschreibung
! Unix !! GNU !! Parameter !! Beschreibung
|-
|-
| -1 || --single || || Exit as soon as the first advertisement is received (default)
| -1 || --single || || Beenden, sobald die erste Anzeige empfangen wird (Standard)
|-
| -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
|}
|}
=== Parameter ===
 
=== Argumente ===
=== Umgebungsvariablen ===
=== Umgebungsvariablen ===
=== Exit-Status ===
=== Exit-Status ===
== Anwendung ==
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line>
; Prozess auf Idle-E/A-Prozess setzen
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ionice -c 3 -p 89
</syntaxhighlight>


; Prozess als Best-Effort (höchste Priorität) ausführen
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ionice -c 2 -n 0 bash
</syntaxhighlight>
</syntaxhighlight>
=== Problembehebung ===
 
; Klasse und Priorität von Prozessen ausgeben
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo ionice -p 89 91
</syntaxhighlight>
 
== Konfiguration ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===
Zeile 30: Zeile 100:
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
==== Dokumentation ====
=== Dokumentation ===
 
===== Man-Page =====
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====
 
{{DEFAULTSORT:new}}
{{DISPLAYTITLE:new}}
 
[[Kategorie:new]]
 
</noinclude>
= TMP =
IONICE(1) Dienstprogramme für Benutzer IONICE(1)
 
== 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] -p 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
; Man-Page
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
# IONICE(1) Dienstprogramme für Benutzer
Prioritätsstufe.


-p, --pid PID...
;Info-Page
gibt die Prozesskennungen (PIDs) der laufenden Prozesse an, für die die Scheduling-Parameter gesetzt oder ermittelt werden sollen.
=== Links ===
==== Projekt ====
==== Weblinks ====


-P, --pgid PGID...
{{DEFAULTSORT:ionice}}
gibt die Prozessgruppenkennungen (PGIDs) der laufenden Prozesse an, für die die Scheduling-Parameter gesetzt oder ermittelt werden sollen.
{{DISPLAYTITLE:ionice}}


-t, --ignore
[[Kategorie:Linux/Prozess/Befehl]]
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 ==
# ioprio_set(2)
 
== VERFÜGBARKEIT ==
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.40.2 2024-12-06 IONICE(1)
 
 
 
[[Kategorie:Linux/Prozesse]]
[[Kategorie:util-linux]]
[[Kategorie:util-linux]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux/Befehl]]
</noinclude>

Aktuelle Version vom 11. Mai 2025, 13:42 Uhr

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

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

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 Beenden, sobald die erste Anzeige empfangen wird (Standard)
-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

Argumente

Umgebungsvariablen

Exit-Status

Anwendung

Prozess auf Idle-E/A-Prozess setzen
sudo ionice -c 3 -p 89
Prozess als Best-Effort (höchste Priorität) ausführen
sudo ionice -c 2 -n 0 bash
Klasse und Priorität von Prozessen ausgeben
sudo ionice -p 89 91

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

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

Links

Projekt

Weblinks