
das nice
und renice
Mit Befehlen können Sie anpassen, wie der Kernel seine Prozesse behandelt, indem Sie seine Prioritäten anpassen. Lesen Sie dieses Tutorial, um zu erfahren, wie Sie sie auf Linux- und Unix-ähnlichen Betriebssystemen verwenden., wie macOS.
Alles eine Frage des Verfahrens
In Ihrem Linux- oder Unix-ähnlichen Computer, Es 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ützen Prozesse für seine grafische Desktop-Umgebung.. Hinter den Kulissen passiert viel. Auf jeden Fall, es gibt nur so viele Systemressourcen und CPU-Zeit für alle. Der Linux-Kernel ist der Controller all dieser Prozesse.
Es ist der Kernel, der entscheiden muss, welche Prozesse im Moment Aufmerksamkeit und Ressourcen erhalten, und welche müssen warten. 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 angemessen eingebunden sind. Einige Prozesse werden bevorzugt behandelt. Sie sind für den Gesamtbetrieb des Computers so wichtig, dass Ihre Bedürfnisse an erster Stelle stehen sollten, Sagen wir, dein Browser.
Guter Wert
Eines der Kriterien, die verwendet werden, um festzustellen, wie der Kernel eine Prozedur behandelt, ist der nette Wert. Jedes Verfahren hat einen guten Wert. Der nette Wert ist eine ganze Zahl im Bereich von -19 ein 20. Alle Standardprozesse beginnen mit einem schönen Wert von Null.
Der Trick dabei ist, dass je höher der schöne Wert ist, desto besser ist Ihr Verfahren für die Sonstiges Prozesse. Mit anderen Worten, ein schöner hoher Wert sagt dem Kernel, dass dieser Vorgang gerne wartet. Eine negative Zahl ist das Gegenteil von nett sein. Je höher der negative angenehme Wert, Plus egoistisch Der Prozess ist. Sie versuchen, so viel CPU-Zeit wie möglich zu erhalten, ohne auf die anderen Prozesse zu achten.
Wir können die nutzen nice
Befehl an anziehen guter Wert, wenn a der Prozess beginnt und wir können gebrauchen renice
zum anpassen guter Wert eines laufenden Prozesses.
Das gute Kommando
Wir können die nutzen nice
Befehl, um den Nice-Wert eines Programms anzupassen, wenn wir es starten. Dies ermöglicht es uns, die Priorität, die der Kernel der Prozedur gibt, zu erhöhen oder zu verringern, in Verbindung mit den anderen Prozessen.
Angenommen, 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
Wir können die nutzen top
Befehl zum Anzeigen des laufenden Programms.
oben
Wir können die Details der ackermann
Programm in top
. Der gute Wert ist die Zahl in der "NI-Spalte". Es wurde auf Null gesetzt, wie wir hoffen konnten.
Starten wir neu und machen wir es diesmal weniger anspruchsvoll. Wir werden einen guten Wert von 15 für ihn ackermann
Zeitplan wie folgt. Schreib schön, ein Leerzeichen, -15, ein weiteres Leerzeichen und dann den Namen des Programms, das Sie starten möchten. In unserem Beispiel, unser Dummy-Programmierer verwendet ./ackermann
.
nett -15 ./ackermann
Vorsichtig sein, das “-15” ist nicht minus fünfzehn. Es ist fünfzehn positiv. Die “-” muss angegeben werden nice
wir übergeben einen Parameter. Um eine negative Zahl anzugeben, Sie müssen zwei Zeichen eingeben “-“.
Wenn wir jetzt anfangen top
wieder, Wir können die Änderung im Verhalten von sehen ackermann
.
oben
Mit einem guten Wert von 15, ackermann
verbraucht nicht die meiste CPU-Zeit. GNOME und Rhythmbox verwenden mehr. Wir haben regiert ackermann
in ein bisschen.
Jetzt machen wir das Gegenteil und geben ackermann
ein guter negativer Wert. Beachten Sie die Verwendung von zwei Zeichen “-“. Um eine Bewerbung egoistischer und weniger angenehm zu machen, du musst benutzen sudo
. Jeder kann Ihre App angenehmer machen, aber nur Superuser können einen noch egoistischer machen.
sudo nett --10 ./ackermann
Lass uns nach oben rennen und sehen, was es für einen Unterschied gemacht hat.
oben
Diesmal ackermann
hat einen guten 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 angenehmen Wert einer laufenden Prozedur anpassen. Wir müssen nicht aufhören und es neu starten mit nice
. Wir können im Handumdrehen einen neuen Wert ermitteln.
das renice
Befehl nimmt Prozedur-ID, o PID, der Prozedur als Kommandozeilenparameter. Wir können die Prozedur-ID aus der Spalte extrahieren “PID” An top
, wir können es gebrauchen ps
und grep
um es für uns zu finden, auf dem nächsten weg. Offensichtlich, Sie werden Ihren Benutzernamen anstelle von schreiben dave
und den Namen des Verfahrens, an dem Sie interessiert sind, anstelle von ackermann
.
ps -ich dave | Griff Ackermann
Jetzt haben wir die PID, mit der wir sie verwenden können renice
. Wir werden bestimmen ackermann
zurück zu einem angenehmeren Auftreten mit einem guten Wert von fünf. Um den netten Wert einer laufenden Prozedur zu ändern, verwenden müssen sudo
. Bitte beachten Sie, dass es keine “-” bei 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
guter Wert hat sich geändert. Es zeigt uns den alten Wert und den neuen Wert.
Der Kernel leistet im Allgemeinen hervorragende Arbeit bei der Verwaltung von Prioritäten und der Zuweisung von CPU-Zeit und Systemressourcen. Aber wenn Sie eine lange Aufgabe ausführen müssen, die CPU-intensiv ist und es Ihnen egal ist, wann sie beendet ist, es wird Ihren Computer etwas flüssiger laufen lassen, wenn Sie einen schönen höheren Wert für diese Aufgabe einstellen. Das wird für alle besser.