Connect with us

Wie man

So setzen Sie Prozessprioritäten mit nice and renice unter Linux

So vergleichen Sie zwei Textdateien im Linux-Terminal

Fatmawati Achmad Zaenuri/Shutterstock.com

Das nice und renice Mit Befehlen können Sie feinabstimmen, wie der Kernel Ihre Prozesse behandelt, indem Sie deren Prioritäten anpassen. Lesen Sie dieses Tutorial, um zu erfahren, wie Sie sie in Linux- und Unix-ähnlichen Betriebssystemen wie macOS verwenden.

Alles eine Frage des Prozesses

In Ihrem Linux- oder Unix-ähnlichen Computer werden viele Prozesse ausgeführt, noch bevor Sie die Anwendung starten, die Sie verwenden möchten. Die meisten dieser Prozesse sind wichtige Elemente von Linux selbst oder unterstützende Prozesse für Ihre grafische Desktop-Umgebung. Hinter den Kulissen passiert viel. Natürlich gibt es nur eine begrenzte Anzahl von Systemressourcen und CPU-Zeiten. Der Linux-Kernel ist der Controller für all diese Prozesse.

Es ist der Kernel, der entscheiden muss, welche Prozesse gerade Aufmerksamkeit und Ressourcen erhalten und welche warten müssen. Der Kernel jongliert ständig mit Prozessen und Prioritäten, um sicherzustellen, dass der Computer so reibungslos wie möglich läuft und alle Prozesse ihren angemessenen Anteil erhalten. Einige Prozesse werden bevorzugt behandelt. Sie sind für den allgemeinen Betrieb des Computers so wichtig, dass ihre Bedürfnisse beispielsweise vor Ihrem Browser stehen müssen.

Der schöne Wert

Eines der Kriterien, die verwendet werden, um zu bestimmen, wie der Kernel einen Prozess behandelt, ist der nette Wert. Jeder Prozess hat einen schönen Wert. Der nette Wert ist eine ganze Zahl im Bereich von -19 bis 20. Alle Standardprozesse werden mit einem schönen Wert von Null gestartet.

Der Trick dabei ist, dass Ihr Prozess umso besser zu den Prozessen passt, je höher der Nice-Wert ist. Mit anderen Worten, ein hoher nice-Wert sagt dem Kernel, dass dieser Prozess gerne wartet. Eine negative Zahl ist das Gegenteil von nett. Je größer der negative Nice-Wert, desto mehr ist der Prozess. Es versucht, so viel CPU-Zeit wie möglich zu erhalten, ohne Rücksicht auf die anderen Prozesse.

Wir können die nutzen nice Befehl zum schönen Wert, wenn a Prozess wird gestartet und wir können gebrauchen renice zum schönen Wert eines laufenden Prozesses.

Das nette Kommando

Wir können die nutzen nice Befehl, um den nice-Wert für ein Programm anzupassen, wenn wir es starten. Dadurch können wir die Priorität, die der Kernel dem Prozess einräumt, relativ zu den anderen Prozessen erhöhen oder verringern.

Nehmen wir an, ein Programmierer hat ein Programm namens . geschrieben ackermann . Dies berechnet Ackerman-Funktionen. Es ist CPU- und speicherintensiv. Der Programmierer kann das Programm mit dem folgenden Befehl starten:

./ackermann

ackermann-Befehl im Terminalfenster

Wir können die nutzen top Befehl, um das laufende Programm anzuzeigen.

top

top läuft in einem terminal

Wir können die Details der ackermann Programm in top. Der nette Wert ist die Zahl in der „NI-Spalte“. Es wurde auf Null gesetzt, wie wir es erwarten würden.

Lass es uns neu starten und dieses Mal weniger anspruchsvoll machen. Wir setzen einen schönen Wert von 15 für die ackermann Programm wie folgt. Geben Sie nice, ein Leerzeichen, -15, ein weiteres Leerzeichen und dann den Namen des Programms ein, das Sie starten möchten. In unserem Beispiel verwendet unser fiktiver Programmierer ./ackermann.

nice -15 ./ackermann

schöner 15-Befehl im Terminalfenster

Beachten Sie, dass die „-15“ nicht minus fünfzehn ist. Es ist positiv fünfzehn. Das «-» ist erforderlich, um zu sagen nice Wir übergeben einen Parameter. Um eine negative Zahl anzugeben, müssen Sie zwei „-“-Zeichen eingeben.

Wenn wir jetzt anfangen top wieder können wir die Änderung im Verhalten von sehen ackermann.

top

top läuft in einem terminal

Mit einem schönen Wert von 15, ackermann verbraucht nicht die meiste CPU-Zeit. GNOME und Rhythmbox verwenden beide mehr. Wir haben gezügelt ackermann bald.

Jetzt machen wir das Gegenteil und geben ackermann ein negativer netter Wert. Beachten Sie die Verwendung von zwei „-“-Zeichen. Um eine Bewerbung egoistischer und weniger nett zu machen, müssen Sie verwenden sudo. Jeder kann seine Anwendung schöner machen, aber nur Superuser können eine selbstsüchtiger machen.

sudo nice --10 ./ackermann

nice -10 Befehl im Terminalfenster

Lassen Sie uns nach oben laufen und sehen, was das für einen Unterschied gemacht hat.

top

top läuft in einem terminal

Diesmal ackermann hat einen schönen Wert von -10. Es ist wieder an der Spitze und verbraucht mehr CPU-Zeit als zuvor.

Das Renice-Kommando

Das renice Mit dem Befehl können wir den nice-Wert eines laufenden Prozesses anpassen. Wir müssen es nicht stoppen und neu starten mit nice. Wir können im Handumdrehen einen neuen Wert festlegen.

Das renice Befehl nimmt die Prozess-ID oder PID des Prozesses als Befehlszeilenparameter. Wir können entweder die Prozess-ID aus der Spalte „PID“ in extrahieren top , oder wir können verwenden ps und grep um es für uns wie folgt zu finden. Offensichtlich geben Sie den Namen Ihres Benutzers anstelle von . ein dave und den Namen des Prozesses, an dem Sie interessiert sind, anstatt ackermann.

ps -eu dave | grep ackermann

Jetzt, da wir die PID haben, können wir diese verwenden renice. Wir werden einstellen ackermann zurück zu einem schöneren Verhalten mit einem schönen Wert von fünf. Um den nice-Wert für einen laufenden Prozess zu ändern, müssen Sie verwenden sudo. Beachten Sie, dass es kein „-“ auf der 5 Parameter. Sie brauchen keine für positive Zahlen und Sie brauchen nur eine, nicht zwei für negative Zahlen.

sudo renice -n 5 2339

Wir bekommen die Bestätigung, dass renice hat den schönen Wert geändert. Es zeigt uns den alten Wert und den neuen Wert.

Der Kernel leistet normalerweise hervorragende Arbeit bei der Handhabung von Prioritäten und der Verteilung von CPU-Zeit und Systemressourcen. Wenn Sie jedoch eine lange, CPU-intensive Aufgabe ausführen müssen und es Ihnen egal ist, wann sie abgeschlossen ist, wird Ihr Computer etwas flüssiger, wenn Sie einen höheren Wert für diese Aufgabe einstellen. Das wird für alle schöner.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia