nice

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Ein Terminal öffnen

Inhaltsverzeichnis
  1. Installation
  2. Prozesspriorität
  3. nice
    1. Syntax
    2. Beispiele
  4. renice
    1. Syntax
    2. Beispiele
  5. Links

Wiki/Icons/terminal.png Mit Hilfe des Befehls nice können "normale" Befehle mit einer zu definierenden Prozesspriorität aufgerufen werden, mit Hilfe von renice kann die Priorität von laufenden Prozessen geändert werden.

Weitere Möglichkeiten erläutern folgende Artikel:

Installation

Die Programme sind in den essentiellen Paketen

Befehl zum Installieren der Pakete:

sudo apt-get install coreutils bsdutils 

Oder mit apturl installieren, Link: apt://coreutils,bsdutils

von Ubuntu enthalten und deshalb auf jedem System installiert.

⚓︎

Prozesspriorität

Unter Linux erhält jeder Prozess eine Priorität mit der bestimmt wird, wie viel anteilige Rechenleistung dem Prozess zusteht. Die Priorität liegt im Bereich von -20 bis +19 (in ganzzahligen Schritten), wobei -20 die höchste Priorität (=meiste Rechenleistung) und 19 die niedrigste Priorität (=geringste Rechenleistung) ist. Die Standardpriorität ist 0. Normale Nutzer können Prioritäten von 0 bis 19 einstellen, nur Root darf auch negative Werte vorgeben.

Hinweis:

Die Ausführungsgeschwindigkeit eines Befehls bzw. eines Programms kann zwar durch nice beeinflusst werden, hängt aber auch maßgeblich von anderen Faktoren ab wie z.B. der Gesamtzahl der laufenden Prozesse, Zugriffsgeschwindigkeit auf die Festplatte etc.

Gibt man einem Programm eine hohe Priorität = viel Rechenleistung, kann der Nebeneffekt sein, dass sich das restliche System "zäh" anfühlt, solange das Programm läuft.

nice

Syntax

nice wird wie andere Befehle auch in einem Terminal aufgerufen. Die allgemeine Syntax von nice ist recht einfach:

nice -n niceness Befehl 

Der Parameter niceness gibt dabei die Priorität an, "Befehl" ist ein regulärer Befehl bzw. Programmaufruf.

Beispiele

Ein paar Beispiele für die Nutzung von nice:

Hinweis:

Wie man am zweiten Beispiel sieht, wirkt sich der sudo-Befehl in diesem Fall auch auf den nachfolgenden Befehl (im Beispiel nano) aus. Da nice durch sudo mit Root-Rechten läuft, vererben sich diese Rechte auch an den nachfolgenden Befehl, da dieser durch nice aufgerufen wird und nicht durch die Shell. Dies sollte man unbedingt beachten! Möchte man nur einen "normalen" Prozess ohne Root-Rechte, aber mit einer höheren Priorität (also einem negativem nice-Wert) starten, ist das vierte Beispiel am geeignetsten.

renice

Um die Priorität eines laufenden Prozesses zu ändern, wird der Befehl renice eingesetzt.

Syntax

renice wird im Terminal aufgerufen. Die allgemeine Syntax von renice ist wie folgt:

renice niceness <Optionen> 

niceness gibt dabei die (neue) Priorität an. Grundsätzlich können normale Benutzer nur die Priorität ihrer eigenen Prozesse im Bereich 0 bis 19 ändern, mit Root-Rechten kann am die Priorität sowohl im Bereich -20 bis 19 sowie für die Prozesse aller Benutzer ändern, siehe auch Prozesspriorität.

renice kennt die folgenden Optionen:

renice - Optionen
Option Beschreibung
-p PID renice wird auf den Prozess mit der Prozessidentifikationsnummer PID angewendet.
-u USER renice wird auf alle Prozesse des Benutzers USER angewendet.
-g GRUPPEN-ID renice wird auf alle Prozesse mit der Prozessgruppenidentifikation GRUPPEN-ID angewendet.

wird keine der Optionen (-p, -u, -g) angegeben, wird als Standard -p angenommen, die nachfolgenden Zahlen also als Prozessidentifikationsnummern (PID) interpretiert.

Um die Prozessidentifikationsnummer eines Prozesses zu bestimmen, können die Befehle pstree, ps oder pidof eingesetzt werden.

Beispiele

Im folgenden einige Beispiele für die Nutzung von renice.