LPIC101/103.6 Prozess-Ausführungsprioritäten ändern: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 12: | Zeile 12: | ||
* [[top]] | * [[top]] | ||
==nice== | |||
*nice ist ein Befehl von Unix-ähnlichen Betriebssystemen. | *nice ist ein Befehl von Unix-ähnlichen Betriebssystemen. | ||
Zeile 22: | Zeile 22: | ||
Und bestätigte die Priorität mit dem folgenden Befehl: | Und bestätigte die Priorität mit dem folgenden Befehl: | ||
ps ax -o pid,ni,cmd | grep sleep | ps ax -o pid,ni,cmd | grep sleep | ||
1522 0 sleep 1000000000 | 1522 0 sleep 1000000000 | ||
1547 12 sleep 1000000000 | 1547 12 sleep 1000000000 | ||
Zeile 37: | Zeile 36: | ||
Mit dem Kommando: | Mit dem Kommando: | ||
michel@debian:~$ ps ax -o pid,ni,cmd | grep sleep | michel@debian:~$ ps ax -o pid,ni,cmd | grep sleep | ||
sieht man ,dass das Prioritäts-Scheduling auf die zweite Spalte. In die erste Spalte steht die auführungsnummer(zum beispiel 1522) des Prozesses. | sieht man ,dass das Prioritäts-Scheduling auf die zweite Spalte. In die erste Spalte steht die auführungsnummer(zum beispiel 1522) des Prozesses. | ||
1522 0 sleep 1000000000 | 1522 0 sleep 1000000000 | ||
1547 12 sleep 1000000000 | 1547 12 sleep 1000000000 | ||
Zeile 43: | Zeile 42: | ||
1577 10 sleep 1000000000 | 1577 10 sleep 1000000000 | ||
1579 0 grep sleep | 1579 0 grep sleep | ||
Die zweite Zeile enthält jetzt zwei Striche. Der erste Strich leitet die Option ein, und der zweite ist diesmal ein Minuszeichen. | Die zweite Zeile enthält jetzt zwei Striche. Der erste Strich leitet die Option ein, und der zweite ist diesmal ein Minuszeichen. | ||
==renice== | |||
*renice ändert das Prioritäts-Scheduling eines oder mehrerer laufender Prozesse. | *renice ändert das Prioritäts-Scheduling eines oder mehrerer laufender Prozesse. | ||
Zeile 54: | Zeile 51: | ||
*Das Anwenden von renice auf eine Prozessgruppe beeinflusst das Scheduling aller Prozesse in dieser Prozessgruppe gleichermaßen. | *Das Anwenden von renice auf eine Prozessgruppe beeinflusst das Scheduling aller Prozesse in dieser Prozessgruppe gleichermaßen. | ||
*Das Anwenden von renice auf einen Benutzer ändert das Prioritäts-Scheduling aller Prozesse, die diesem Benutzer gehören. | *Das Anwenden von renice auf einen Benutzer ändert das Prioritäts-Scheduling aller Prozesse, die diesem Benutzer gehören. | ||
michel@debian:~$ renice -n -7 1547 | michel@debian:~$ renice -n -7 1547 | ||
1547 (process ID) old priority -7, new priority 12 | 1547 (process ID) old priority -7, new priority 12 | ||
*Hier ist also der Strich ein Minus und keine Einleitung für eine Option. | *Hier ist also der Strich ein Minus und keine Einleitung für eine Option. | ||
*Mit der Option -u (hier wiederum ist der Strich unabdingbar) können Sie alle Prozesseeines einzelnen Benutzers gleichzeitig beeinflussen. | *Mit der Option -u (hier wiederum ist der Strich unabdingbar) können Sie alle Prozesseeines einzelnen Benutzers gleichzeitig beeinflussen. | ||
*Die Syntax ist ansonsten mit identisch, die man auch bei der Manipulation eines Prozesses benutzen würde. | *Die Syntax ist ansonsten mit identisch, die man auch bei der Manipulation eines Prozesses benutzen würde. | ||
==top und ps== | |||
top und ps können die prioritäten überprüfen: | top und ps können die prioritäten überprüfen: | ||
*[[ps]] (für process status) ist ein Unix-Kommando, das eine Liste aller Prozesse, welche momentan laufen oder sich im Zombie-Status befinden, auf dem Bildschirm ausgibt. | *[[ps]] (für process status) ist ein Unix-Kommando, das eine Liste aller Prozesse, welche momentan laufen oder sich im Zombie-Status befinden, auf dem Bildschirm ausgibt. | ||
michel@debian:~$ ps ax -o pid,ni,cmd | grep sleep | michel@debian:~$ ps ax -o pid,ni,cmd | grep sleep | ||
*[[top]] ist ein Befehl in den meisten Unix-ähnlichen Betriebssystemen, der eine ständig aktualisierte Liste der aktuell laufenden Prozesse des Systems ausgibt. | *[[top]] ist ein Befehl in den meisten Unix-ähnlichen Betriebssystemen, der eine ständig aktualisierte Liste der aktuell laufenden Prozesse des Systems ausgibt. | ||
*Dabei zeigt top auch die Load der CPU, Speicherverbrauch, sowie etliche andere Informationen an,Um die tatsächliche Priorität eines Prozesses und den Wert für nice zu ermitteln,benötigen Sie das Programm top. | *Dabei zeigt top auch die Load der CPU, Speicherverbrauch, sowie etliche andere Informationen an,Um die tatsächliche Priorität eines Prozesses und den Wert für nice zu ermitteln,benötigen Sie das Programm top. | ||
=Kontrollfragen= | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 1'' | |||
<div class="mw-collapsible-content">'''Antwort'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 2'' | |||
<div class="mw-collapsible-content">'''Antwort'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 3'' | |||
<div class="mw-collapsible-content">'''Antwort'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 4'' | |||
<div class="mw-collapsible-content">'''keine'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 5'' | |||
<div class="mw-collapsible-content">'''keine'''</div> | |||
</div> | |||
[[Category:Linux]] | [[Category:Linux]] | ||
[[Category:Linux:LPIC:101]] | [[Category:Linux:LPIC:101]] |
Version vom 20. November 2019, 12:00 Uhr
Allgemeines
- Der Begriff Prozeß (engl. process) bezeichnet ein Programm, das gerade geladen ist und (meist) läuft.
- Manchmal möchten Sie die Priorität eines Prozesses ändern. Ein Prozess, der für Sie sehr wichtig ist, kann z.B. ausgeführt werden und sie möchten Ihn schnell beenden.
- Ein normaler Benutzer kann allerdings einem Prozess lediglich eine niedrigere Priorität zuordnen.
- Damit soll verhindert werden, dass Benutzer, die ihre eigene Arbeit als besonders wichtig einstufen, das ganze System lahmlegen.
Liste wichtiger Dateien
nice
- nice ist ein Befehl von Unix-ähnlichen Betriebssystemen.
- Mit nice ist es möglich, ein Kommando mit einer bestimmten Priorität zu starten, sodass der dann ausgeführte Prozess im Gegensatz zu anderen Prozessen mehr oder weniger CPU-Zeit erhält.
Zum Beispiel haben wir den folgenden Prozess ausgeführt:
sleep 1000000000&
Und bestätigte die Priorität mit dem folgenden Befehl:
ps ax -o pid,ni,cmd | grep sleep 1522 0 sleep 1000000000 1547 12 sleep 1000000000 1574 0 sleep 1000000000 1576 0 grep sleep michel@debian:~$ nice -n 10 sleep 1000000000&
- In beiden Fällen wird der Editor nano mit einem positiven Nice-Wert von 10 gestartet.
- Der Strich in der zweiten Zeile ist also kein Minus, sondern dient der Einleitung der Option.
- Wenn Sie einen negativen Nice-Wert verwenden wollen, um die Ausführungspriorität eines Programms zu erhöhen, können Sie folgende Kommandos verwenden:
michel@debian:~$ nice -n -10 sleep 1000000000& oder: michel@debian:~$ nice --10 sleep 1000000000&
Mit dem Kommando:
michel@debian:~$ ps ax -o pid,ni,cmd | grep sleep
sieht man ,dass das Prioritäts-Scheduling auf die zweite Spalte. In die erste Spalte steht die auführungsnummer(zum beispiel 1522) des Prozesses.
1522 0 sleep 1000000000 1547 12 sleep 1000000000 1574 0 sleep 1000000000 1577 10 sleep 1000000000 1579 0 grep sleep
Die zweite Zeile enthält jetzt zwei Striche. Der erste Strich leitet die Option ein, und der zweite ist diesmal ein Minuszeichen.
renice
- renice ändert das Prioritäts-Scheduling eines oder mehrerer laufender Prozesse.
- Das erste Argument ist der zu verwendende Prioritäts-Wert.
- Die anderen Argumente werden als Prozesskennungen interpretiert (Vorgabe), Prozessgruppenkennungen, Benutzerkennungen oder Benutzernamen.
- Das Anwenden von renice auf eine Prozessgruppe beeinflusst das Scheduling aller Prozesse in dieser Prozessgruppe gleichermaßen.
- Das Anwenden von renice auf einen Benutzer ändert das Prioritäts-Scheduling aller Prozesse, die diesem Benutzer gehören.
michel@debian:~$ renice -n -7 1547 1547 (process ID) old priority -7, new priority 12
- Hier ist also der Strich ein Minus und keine Einleitung für eine Option.
- Mit der Option -u (hier wiederum ist der Strich unabdingbar) können Sie alle Prozesseeines einzelnen Benutzers gleichzeitig beeinflussen.
- Die Syntax ist ansonsten mit identisch, die man auch bei der Manipulation eines Prozesses benutzen würde.
top und ps
top und ps können die prioritäten überprüfen:
- ps (für process status) ist ein Unix-Kommando, das eine Liste aller Prozesse, welche momentan laufen oder sich im Zombie-Status befinden, auf dem Bildschirm ausgibt.
michel@debian:~$ ps ax -o pid,ni,cmd | grep sleep
- top ist ein Befehl in den meisten Unix-ähnlichen Betriebssystemen, der eine ständig aktualisierte Liste der aktuell laufenden Prozesse des Systems ausgibt.
- Dabei zeigt top auch die Load der CPU, Speicherverbrauch, sowie etliche andere Informationen an,Um die tatsächliche Priorität eines Prozesses und den Wert für nice zu ermitteln,benötigen Sie das Programm top.
Kontrollfragen
Testfrage 1
Antwort
Testfrage 2
Antwort
Testfrage 3
Antwort
Testfrage 4
keine
Testfrage 5
keine