Überprüfen Sie die CPU-Auslastung des Prozesses mit nice und cpulimit[Linux].

Egal wie schnell Ihr Linux-Rechner ist, es gibt immer einige CPU-zeitraubende Aufgaben. Alles, von der Videocodierung bis hin zum Ausführen von mathematischen Modellen, kann die CPU zu 100% zum Laufen bringen. Dies ist in Ordnung, wenn die Maschine nichts anderes tut. Aber egal, ob es sich um Ihren primären Desktop handelt oder als Server verwendet wird, die Ausführung einer Aufgabe, die Ihre CPU maximiert, macht die Maschine langsam und schwierig zu bedienen. Das Schöne an einem Multitasking-Betriebssystem ist, dass der Computer nicht abstürzt, da er immer CPU-Zeit für andere Aufgaben einplant und Dinge wie der Desktop weiterhin laufen, aber viel langsamer. Der Scheduler kann nicht erkennen, dass die CPU-intensive Aufgabe mit einer niedrigeren Priorität ausgeführt oder die CPU-Zeit begrenzt werden soll. Es gibt jedoch einige Tools, mit denen die CPU-Auslastung des Prozesses für diese ressourcenhungrigen Aufgaben überprüft werden kann.

Um eine CPU-intensive Aufgabe zu emulieren, können wir ein Tool namens matho-prime verwenden, das eine Liste von Primzahlen generiert. Wenn Sie es bitten, eine ausreichend große Liste zu generieren, wird die CPU-Leistung während der Ausführung maximiert. So installieren Sie matho-prime auf Ubuntu oder einem Raspberry Pi:

sudo apt-get install Mathomatic-Primes

Starten wir die Aufgabe und sehen wir uns die CPU-Auslastung an:

matho-primes 0 99999999999999> p.txt &

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> >>>> >>>.

Dies weist matho-prime an, eine Liste von Primzahlen von null bis neuntausendneunhundertneunundneunzig Millionen neunhundertneunundneunzigtausendneunhundertneunundneunzig zu generieren! Die Ausgabe wird in die Datei p.txt umgeleitet. Das kaufmännische Und am Ende weist die Shell an, das Programm im Hintergrund auszuführen, was bedeutet, dass sie sofort nach dem Start der Aufgabe zur Befehlszeile zurückkehrt.

Führen Sie nun den obigen Befehl aus und sehen Sie sich die CPU-Menge an, die vom Primzahlengenerator verwendet wird.

Überprüfen Sie die CPU-Auslastung des Prozesses mit nice und cpulimit[Linux].

Lassen Sie uns dieses Geschäft jetzt stoppen und sehen, wie wir es mit einer niedrigeren Priorität starten können. Lassen Sie sich von oben herunterfallen, indem Sie q drücken, geben Sie dann fg ein, um die mathematischen Köder nach vorne zu bringen, und drücken Sie dann "Strg + C", um das Beenden des Programms zu erzwingen.

Starten Sie nun das Programm erneut, aber fügen Sie am Anfang des Befehls das Wort nice hinzu:

nice matho-primes 0 999999999999> p.txt &

nice ist ein Tool, das Linux anweist, diese Aufgabe mit einer niedrigeren Priorität zu planen. Die Freundlichkeit reicht von -20 (günstigere Planung) bis 19 (weniger günstig). Standardmäßig plant nice die Aufgabe mit einer Genauigkeit von 10. Standardmäßig beginnen normale Aktivitäten mit einer Genauigkeit von Null. Dies bedeutet, dass eine Aufgabe mit einer Freundlichkeit von 10 als niedrigere Priorität angesehen wird und weniger CPU-Ressourcen erhält.

Wir können jetzt einen zweiten dieser Primzahlengeneratoren starten, um andere Aufgaben zu emulieren, die Sie auf Ihrem Computer ausführen möchten (wie das Surfen im Internet oder das Schreiben eines Dokuments). Dies ist normal, da die Verwendung des Desktops eine höhere Priorität haben sollte als die Ausführung des primären Zahlengenerators.

matho-primes 0 999999999999> p2.txt &

Beachten Sie, dass die Ausgabe dieser Datei an p2.txt umgeleitet wird. Die Ausgabe von oben sieht so aus:

Überprüfen Sie die CPU-Auslastung des Prozesses mit nice und cpulimit[Linux].

Wie Sie sehen, benötigt der beste Prozess weniger CPU-Zeit. Das bedeutet, wenn Sie eine CPU-intensive Aufgabe mit nice starten, wird Ihr Computer dadurch nicht träge oder verlangsamt.

Index

    CPU-Begrenzung

    Es gibt einen weiteren Befehl namens "cpulimit", der, anstatt die Scheduling-Priorität zu ändern, einen Prozess vorübergehend stoppt, um sicherzustellen, dass er die gewünschte CPU-Auslastung nicht überschreitet.

    Um es zu installieren, geben Sie Folgendes ein:

    sudo apt-get install cpulimit

    Führen Sie nun den CPU-intensiven Primzahlengenerator erneut aus und notieren Sie Ihre PID-Nummer mit diesem Befehl:

    ps | grep matho-prime

    Die erste Spalte der Ausgabe ist die PID. Begrenzen Sie nun die CPU-Auslastung dieses Prozesses wie folgt:

    sudo cpulimit -b -l 50 -p 16299

    Dabei ist 16299 die PID des Matho-Primes-Prozesses. Ein Blick mit der Spitze zeigt in etwa so:

    Überprüfen Sie die CPU-Auslastung des Prozesses mit nice und cpulimit[Linux].

    Geh vorbei

    Es gibt einen begleitenden netten Befehl namens renice, der die Freundlichkeit eines bestehenden Prozesses ändert. Versuchen Sie, top oder ps mit grep zu verwenden, um die PID eines Prozesses zu erhalten, und verwenden Sie renice +19 16299, um die Priorität auf die niedrigste mögliche einzustellen (wobei 16299 die Prozess-PID ist).

    Fühlen Sie sich frei, die Diskussion im Kommentar unten hinzuzufügen.

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

    Go up

    Diese Website verwendet Cookies, um Ihnen ein besseres Erlebnis beim Surfen auf der Website zu bieten. Lesen Sie mehr über Cookies