nice (Unix)
nice ist ein Befehl von Unix-ähnlichen Betriebssystemen. Das Programm wird direkt auf einen Systemaufruf abgebildet.[1] Mit nice
ist es möglich, ein Kommando mit einer bestimmten Priorität zu starten, sodass der dann ausgeführte Prozess im Gegensatz zu anderen Prozessen mehr oder weniger CPU-Zeit erhält.[2] Der nice-Wert wird als Ganzzahl angegeben und erstreckt sich von −20 bis 19: hierbei ist −20 die höchste Priorität und 19 die geringste. Der Wert ist standardmäßig 0 und beschreibt eine statische Priorität für jeden Thread.[3]
nice | |
---|---|
Basisdaten | |
Entwickler | Bell Laboratories |
Betriebssystem | Unix und unixoide Systeme |
Kategorie | Systemsoftware |
Einsatz und Wirkung
Der Einsatz von nice
ist immer dann sinnvoll, wenn auf Mehrbenutzersystemen wie Unix Nutzer ihren Prozessen eine Gewichtung zuordnen möchten. So ist es möglich, einem rechenintensiven Prozess eine geringere Priorität und somit einen hohen nice-Wert zuzuordnen, um andere Nutzer nicht zu beeinträchtigen. Hohe Prioritäten, d. h. −1 bis −20, können nur vom Superuser vergeben werden.[3]
Um z. B. einen rechenintensiven Prozess wie die Berechnung des Speicherplatzverbrauchs der Dateien eines Verzeichnisses (hier: du -s /
) im Hintergrund auszuführen, ohne andere Programme zu beeinträchtigen, kann dem Prozess ein höherer Nice-Wert zugewiesen werden:
nice -n 19 du -s /
Ähnliche Befehle
Das ähnliche Kommando renice
kann genutzt werden, um die Priorität eines laufendes Prozesses zu ändern.[4]
Unter Linux ist darüber hinaus der Befehl ionice
verfügbar, um auf ähnliche Weise das Scheduling der I/O statt der CPU-Zeit zu beeinflussen.[5]
Einzelnachweise
-
nice(2)
– Debian GNU/Linux Systemaufrufe Handbuchseite -
nice(1)
– Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite - Andrew S. Tanenbaum, Herbert Bos: Modern Operating Systems. Hrsg.: Pearson. 2014, ISBN 978-1-292-06142-9, 10.3 Proccesses in Linux, S. 747.
-
renice(1)
– Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite -
ionice(1)
– Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite