Wenn Sie mehrere Anwendungen auf Ihrem Computer ausführen, scheint es, als würden sie alle gleichzeitig laufen. In Wirklichkeit schaltet die CPU schnell zwischen ihnen um und gibt jedem Prozess eine kleine Menge an Verarbeitungszeit.
Wie die CPU Prozesse verwaltet
Jedem Prozess wird eine kleine Menge an CPU-Zeit zugewiesen, die als "Zeitscheibe" (time slice) bezeichnet wird. Nach seiner Zeitscheibe wird ein Prozess angehalten, und die CPU wechselt zum nächsten. Standardmäßig plant der Linux-Kernel Prozesse in einer Round-Robin-Methode, um sicherzustellen, dass jeder Prozess einen fairen Anteil an CPU-Zeit erhält, bis er abgeschlossen ist. Der Scheduler des Kernels ist sehr effizient bei der Verwaltung dieser schnellen Wechsel.
Was ist Niceness unter Linux
Obwohl Prozesse ihre CPU-Zeit nicht direkt steuern können, können Sie die Scheduling-Entscheidungen des Kernels beeinflussen. Dies geschieht durch die Anpassung des linux niceness-Wertes eines Prozesses. Der Begriff "Niceness" (Nettigkeit) bezieht sich darauf, wie "nett" ein Prozess zu anderen Prozessen auf dem System ist.
Die Niceness eines Prozesses wird durch eine Zahl zwischen -20 (höchste Priorität) und 19 (niedrigste Priorität) dargestellt.
- Ein hoher Niceness-Wert (z. B. 19) bedeutet, dass der Prozess sehr "nett" ist und eine niedrige Priorität hat, wodurch er CPU-Zeit an andere abgibt.
- Ein niedriger oder negativer Niceness-Wert (z. B. -20) bedeutet, dass der Prozess nicht "nett" ist und mehr CPU-Zeit beansprucht, was ihm eine höhere Priorität einräumt.
Das Verständnis der linux process niceness ist der Schlüssel zur effektiven Verwaltung von Systemressourcen.
Anpassen der Prozesspriorität
Sie können den aktuellen Niceness-Level laufender Prozesse mit dem Befehl top anzeigen. Achten Sie auf die Spalte NI, die den Niceness-Wert anzeigt.
top
Um den niceness linux-Wert zu steuern, können Sie die Befehle nice und renice verwenden.
Verwenden Sie den Befehl nice, um einen neuen Prozess mit einem bestimmten Niceness-Level zu starten. Der folgende Befehl startet beispielsweise apt upgrade mit einer Niceness von 5.
nice -n 5 apt upgrade
Um die Priorität eines bereits laufenden Prozesses zu ändern, verwenden Sie den Befehl renice. Der folgende Befehl ändert die Niceness eines Prozesses mit der PID 3245 auf 10.
renice 10 -p 3245