Unter normalen Umständen regelt unter Linux der Kernel die Priorität von Prozessen – also welcher Prozess (welches Programm) mehr Leistung vom Prozessor bekommt. Ein Prozess – der mehr Leistung vom Prozessor bekommt, vollendet seine Aufgabe natürlich schneller als ein Prozess der weniger Leistung bekommt.
Die Priorität von Prozessen lässt sich von -20 (höchste Priorität) bis 19 (+19, niedrigste Priorität) regeln. Je höher die Priorität, desto mehr Rechenzeit bekommt ein Prozess von der CPU – der Prozess wird schneller ausgeführt. Je niedriger, desto weniger Rechenzeit – der Prozess benötigt länger, bis er seine Aufgabe vollendet.
Wichtig ist einmal – der Kernel, also Linux läuft mit höchster Priorität – also -20. Würde man jetzt einen weiteren Prozess mit dieser Priorität starten, würde sich das System sehr zäh anfühlen, vielleicht sogar komplett zum Stillstand kommen. Die höchste Priorität sollte also absolut dem Kernel vorbehalten sein.
Anwendungsprogramme – also solche, die vom normalen Benutzer gestartet werden, laufen standardmäßig mit der Priorität 0. Der normale Benutzer kann die Priorität nur nach unten regeln, also die Priorität verringern. Steigern – also erhöhen kann die Priorität nur root – also der Administrator. Geändert wird die Priorität von Prozessen am Terminal.
Inhaltsverzeichnis
nice – Starten von Prozessen mit geänderter Priorität
Am einfachsten ist es, einen Prozess gleich mit angepasster Priorität zu starten. Die Syntax lautet dabei:
nice -n PRIORITÄT befehl
Nehmen wir einmal an, ich möchte Blender mit der erhöhten Priorität -10 starten (dies gelingt natürlich nur als root):
nice -n -10 blender
Dasselbe mit niedrigerer Priorität 10 (hierfür sind wieder keine root-Rechte nötig):
nice -n 10 blender
renice – Die Priorität von laufenden Prozessen ändern
Die Prozess-Priorität von laufenden Prozessen zu ändern ist etwas aufwendiger – hierzu müssen Sie die PID – die Prozess ID kennen. Jeder Prozess hat eine eindeutige und einzigartige Identifikationsnummer, eben die PID. Um an die PID eines Prozesses zu kommen, nutzt man am einfachsten den Befehl „pidof
“ – nehmen wir einmal an, ich möchte die PID von Dolphin kommen:
pidof dolphin
In diesem Beispiel lautet die PID 6538. Jetzt möchte ich die Priorität von Dolphin auf -15 erhöhen (natürlich nur als root):
renice -15 -p 6538
Oder umgekehrt auf +15 (hierfür wären natürlich wieder keine administrativen Rechte nötig):
renice 15 -p 6538
Weiteres
Das Ändern der Priorität von Prozessen in Richtung niedrig, kann durchaus Sinn haben. Nehmen wir einmal an, Blender soll eine größere Grafik rendern – aber Sie möchten nebenbei etwas anderes machen. Blender kann ziemlich am Prozessor ziehen und das Rendern einer großen Grafik kann auch etwas dauern – alles andere wird also etwas zäher ablaufen. Ist es Ihnen egal wie lange Blender braucht, weil Sie sowieso etwas anderes nebenbei zu tun haben, starten Sie Blender einfach mit niedrigerer Priorität.
Es gibt auch Anwendungen, die man niemals mit höherer Priorität starten sollte – eben weil man diese dann mit root-Rechten starten müsste. Darunter zählt etwa der Webbrowser.
Noch keine Reaktion