LPIC101/103.6 Prozess-Ausführungsprioritäten ändern: Unterschied zwischen den Versionen

Aus Foxwiki
Michelmekedjue (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Michelmekedjue (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 15: Zeile 15:
==== nice ====
==== nice ====


nice ist ein Befehl von Unix-ähnlichen Betriebssystemen, darunter auch Linux. 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.
*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:
Zum Beispiel haben wir den folgenden Prozess ausgeführt:
Zeile 22: Zeile 23:
Und bestätigte die Priorität mit dem folgenden Befehl:
Und bestätigte die Priorität mit dem folgenden Befehl:
  s ax -o pid,ni,cmd | grep sleep
  s ax -o pid,ni,cmd | grep sleep
Hier ist ‚michel‘ der Benutzer, der den ‚test new‘ Prozess besitzt. Nachfolgend wird die Ausgabe des obigen Befehls ausgegeben:


  1522  0 sleep 1000000000
  1522  0 sleep 1000000000
Zeile 30: Zeile 29:
  1576  0 grep sleep
  1576  0 grep sleep


 
*In beiden Fällen wird der Editor nano mit einem positiven Nice-Wert von 12 gestartet.
Der Wert in der 8. Spalte ist der schöne Wert, und wie du sehen kannst, ist er Null.
*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:
In beiden Fällen wird der Editor nano mit einem positiven Nice-Wert von 12 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&
  michel@debian:~$ nice -n 10 sleep 1000000000&


Zeile 48: Zeile 46:
==== renice ====
==== 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.
*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.
archangel:~ # renice -10 5309
*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.
5309: old priority 12, new priority -10


michel@debian:~$ renice -n +12 1547


Hier ist also der Strich ein Minus und keine Einleitung für eine Option. Merken Sie sich unbedingt diesen Unterschied zu
nice. Mit der Option -u (hier wiederum ist der Strich unabdingbar) können Sie alle Prozesseeines einzelnen Benutzers gleichzeitig beeinflussen. Die Syntax ist ansonsten mit deridentisch, die man auch bei der Manipulation eines Prozesses benutzen würde:
michel@debian:~$ renice -n +12 1547
  1547 (process ID) old priority 12, new priority 12
  1547 (process ID) old priority 12, 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 ====
Zeile 70: Zeile 66:
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.


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.
*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.





Version vom 12. November 2019, 19:38 Uhr

Allgemeines

  • 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.
  • Sie können die Prozesspriorität ändern.
  • 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:

s ax -o pid,ni,cmd | grep sleep
1522   0 sleep 1000000000
1547  12 sleep 1000000000
1574   0 sleep 1000000000
1576   0 grep sleep
  • In beiden Fällen wird der Editor nano mit einem positiven Nice-Wert von 12 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&
michel@debian:~$ ps ax -o pid,ni,cmd | grep sleep
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 +12 1547 
1547 (process ID) old priority 12, 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.


  • 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.


https://geek-university.com/linux-deutsch/prioritat-eines-prozesses-andern/