LPIC101/103.6 Prozess-Ausführungsprioritäten ändern
Allgemeines
Manchmal möchten Sie die Priorität eines Prozesses ändern. Ein Prozess, der für Sie sehr wichtig ist, kann z.B. ausgeführt werden und sie möchten Ihn schnell beenden. Sie können die Prozesspriorität ändern. Ein normaler Benutzer kann allerdings einem Prozess lediglich eine niedrigere Priorität zuordnen. Damit soll verhindert werden, dass Benutzer, die ihre eigene Arbeit als besonders wichtig einstufen, das ganze System lahmlegen.
Liste wichtiger Dateien
- nice
- ps
- renice
- top
nice
nice ist ein Befehl von Unix-ähnlichen Betriebssystemen, darunter auch Linux. Das Programm wird direkt auf einen Systemaufruf abgebildet. 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. 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ässig 0 und beschreibt eine statische Priorität für jeden Thread. Bei der Übergabe von Optionen erwartet nice immer einen vorangestellten Bindestrich. Wenn ein Programm mit einem positiven Nice-Wert gestartet werden soll,stehen Ihnen zwei Möglichkeiten zur Ausführung des Kommandos zur Verfügung:
harald@archangel:~> nice -n 12 nano
harald@archangel:~> nice -12 nano
In beiden Fällen wird der Editor nano mit einem positiven Nice-Wert von 12 gestartet.Der Strich in der zweiten Zeile ist also kein Minus, sondern dient der Einleitung der Option. Wenn Sie einen negativen Nice-Wert verwenden wollen, um die Ausführungspriorität eines Programms zu erhöhen, können Sie folgende Kommandos verwenden:
michi@archangel:~ # nice -n -15 pico
michi@archangel:~ # nice --15 pico
Die zweite Zeile enthält jetzt zwei Striche. Der erste Strich leitet die Option ein, und der zweite ist diesmal ein Minuszeichen.
renice
renice ändert das Prioritäts-Scheduling eines oder mehrerer laufender Prozesse. Das erste Argument ist der zu verwendende Prioritäts-Wert. Die anderen Argumente werden als Prozesskennungen interpretiert (Vorgabe), Prozessgruppenkennungen, Benutzerkennungen oder Benutzernamen. Das Anwenden von renice auf eine Prozessgruppe beeinflusst das Scheduling aller Prozesse in dieser Prozessgruppe gleichermaßen. Das Anwenden von renice auf einen Benutzer ändert das Prioritäts-Scheduling aller Prozesse, die diesem Benutzer gehören.
archangel:~ # renice -10 5309
5309: old priority 12, new priority -10
Hier ist also der Strich ein Minus und keine Einleitung für eine Option. Merken Sie sich unbedingt diesen Unterschied zu
nice. Mit der Option -u (hier wiederum ist der Strich unabdingbar) können Sie alle Prozesseeines einzelnen Benutzers gleichzeitig beeinflussen. Die Syntax ist ansonsten mit deridentisch, die man auch bei der Manipulation eines Prozesses benutzen würde:
archangel:~ # renice 5 -u dominik
1002: old priority 0, new priority 5