Linux / Befehl nice: Die CPU-Priorität neuer Prozesse anpassen

nice gibt den Nice-Wert an, der für die CPU-Prozessplanung beim Starten eines neuen Befehls verwendet wird. Ein höherer Nice-Wert als der Standard deutet im Allgemeinen darauf hin, dass die CPU leichter anderen Aufgaben überlassen wird.

Der typische Bereich der Nice-Werte unter Linux liegt zwischen -20 und 19, wobei niedrigere Werte eine höhere Priorität anzeigen. nice ändert keine Prozesse, die bereits laufen. Verwenden Sie renice für laufende Aufgaben.

Grundlegende Syntax

nice -n adjustment_value command [arguments...]

Die installierte Implementierung und die Optionen können je nach Distribution variieren. Prüfen Sie die Dokumentation Ihres Systems mit man nice.

Beispiele

Mit niedriger Priorität starten

Starten Sie einen Lesevorgang mit einem Nice-Wert, der 10 höher als der Standardwert ist.

nice -n 10 sha256sum large.log

Mit der Standarderhöhung beginnen

In der GNU-Implementierung wird, wenn der Anpassungswert weggelassen wird, die Standarderhöhung verwendet.

nice sha256sum large.log

Den tatsächlichen Wert überprüfen

Überprüfen Sie die NI-Spalte des laufenden Prozesses.

ps -p 1234 -o pid,ni,cmd

Überprüfung des Nice-Werts eines neuen Prozesses

nice setzt den Scheduling-Nice-Wert eines neu gestarteten Prozesses. Das folgende Beispiel zeigt das Starten eines Test-sleep mit einem Wert von 10 und anschließend die Überprüfung.

nice -n 10 sleep 60 &
ps -o ni,comm -p $!

Beispielausgabe:

 NI COMMAND
 10 sleep

$! ist die PID des neuesten Hintergrundprozesses. Im Allgemeinen gilt: Je höher die Zahl, desto niedriger die CPU-Prozessplanungspriorität, aber das bedeutet nicht eine Begrenzung der CPU-Nutzung. Um den Wert eines bereits laufenden Prozesses zu ändern, verwenden Sie renice.

Hauptoptionen und Format

Optionen/Format Beschreibung
-n value Gibt den Anpassungswert für den neuen Befehl basierend auf dem bestehenden nice-Wert an.
--adjustment=value Lange Schreibweise der Option in der GNU-Implementierung.
Aufruf ohne Argumente Zeigt den aktuellen nice-Wert in der GNU-Implementation an.

Vorsichtsmaßnahmen bei der Verwendung

Der nice-Wert ist ein Hinweis für die CPU-Prozessplanung; er garantiert weder die Ausführungszeit noch ändert er die Prioritäten für Speicher- oder Festplatten-I/O. Die Priorität durch Senkung des nice-Werts zu erhöhen, kann für normale Benutzer nicht erlaubt sein. Bei größeren Lastproblemen sollte zuerst der verursachende Prozess und die Art der Ressource überprüft werden.

Häufig gestellte Fragen

Macht nice -n 10 es 10 Mal schneller?

Nein. Ein höherer Wert bedeutet im Allgemeinen eine niedrigere CPU-Priorität und zeigt nicht ein festes Vielfaches der Verarbeitungsgeschwindigkeit an.

Offizielle Dokumentation

Das genaue Verhalten der Option und Unterschiede in der Implementierung können in der offiziellen Dokumentation für nice nachgelesen werden.