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

Aus Foxwiki
Michelmekedjue (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
K Textersetzung - „  “ durch „ “
 
(49 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Allgemeines ==
= 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.


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 =


=== Liste wichtiger Dateien ===
* [[nice|nice]]
 
* [[ps|ps]]
* [[nice]]
* ps
* renice
* renice
* [[top]]
* [[top|top]]
 
==== nice ====
 
nice ist ein Befehl von Unix-ähnlichen Betriebssystemen, darunter auch Linux. Das Programm wird direkt auf einen Systemaufruf abgebildet. 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. Der nice-Wert wird als Ganzzahl angegeben und erstreckt sich von −20 bis +19: hierbei ist −20 die höchste Priorität und +19 die geringste. Der Wert ist standardmässig 0 und beschreibt eine statische Priorität für jeden Thread.
Bei  der  Übergabe  von  Optionen  erwartet nice immer  einen  vorangestellten  Bindestrich. Wenn ein Programm mit einem positiven Nice-Wert gestartet werden soll,stehen Ihnen zwei Möglichkeiten zur Ausführung des Kommandos zur Verfügung:
 
 
harald@archangel:~> nice -n 12 nano
 
harald@archangel:~> nice -12 nano
 


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:
==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.


michi@archangel:~ # nice -n -15 pico
Zum Beispiel haben wir den folgenden Prozess ausgeführt:
sleep 1000000000&


michi@archangel:~ # nice --15 pico
Und bestätigte die Priorität mit dem folgenden Befehl:
ps ax -o pid,ni,cmd | grep sleep
2268  0sleep 1000000000
2271  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  2268) des Prozesses.
2268 -10 sleep 1000000000
2271  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==  


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.
*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 -n -7 2268
2268(process ID) old priority -10, new priority -7
*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==


archangel:~ # renice -10 5309
top und ps können die prioritäten überprüfen:
*[[ps|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.


5309: old priority 12, new priority -10
=Kontrollfragen=
 
<div class="toccolours mw-collapsible mw-collapsed">
 
''Sie planen apt-get upgrade auszuführen,  um  Ihr  System  auf  den  neuesten  Stand  zu bringen.  Da  dieses  Kommando  erfahrungsgemäß eine hohe  Systemlast  verursacht,wollen Sie ihm eine geringere Prozesspriorität zuweisen.Welchen Befehl werden Sie apt-get voranstellen, damit andere Prozesse durch die Aktualisierung nicht negativ beeinflusst werden? (Wählen Sie zwei Antworten.)
Hier ist also der Strich ein Minus und keine Einleitung für eine Option. Merken Sie sich unbedingt diesen Unterschied zu
# A: nice-14
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:
# B: nice-n14
 
# C: renice-n14
 
# D: nice-n-14
archangel:~ # renice 5 -u dominik
# E: nice--14''
1002: old priority 0, new priority 5
<div class="mw-collapsible-content">'''A,B'''</div>
 
</div>
==== top und ps ====
<div class="toccolours mw-collapsible mw-collapsed">
 
''Sie stellen fest, dass das System, an dem Sie arbeiten, sehr träge reagiert. Eine Über-prüfung ergibt, dass ein
top und ps können die prioritäten überprüfen:
Backupskript einen  großen  Teil  der Systemressourcen  verbraucht.Die zugehörige Prozess-ID  ist 8490. Welches  Kommando  können Sie verwenden, um die Ausführungspriorität der Datensicherung im laufenden Betrieb zu senken
# A: nice--12 8490
# B: bg
# C: renice-n15 8490
# D: renice-15 8490
# E: nice-n12 8490''
<div class="mw-collapsible-content">'''C'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Welche  der  folgenden  Programme  können Einfluss  auf  die  Ausführungspriorität eines Prozesses nehmen? (Wählen Sie drei Programme aus.
# A: bg
# B: nice
# C: renice
# D: fg
# E: top
''
<div class="mw-collapsible-content">'''B,C,E'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Was ist der maximale niceness Wert, den ein regulärer Benutzer einem Prozess mit dem Befehl nice zuweisen kann, wenn er einen neuen Prozess ausführt?
#A: 9
#B: 19
#C: 49
#D: 99
''
<div class="mw-collapsible-content">'''B'''</div>
</div>


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.
[[Kategorie:Linux/LPIC/101]]
Um  die  tatsächliche  Priorität  eines  Prozesses  und  den  Wert  für nice zu  ermitteln,benötigen Sie das Programm top.

Aktuelle Version vom 28. Mai 2023, 09:29 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
2268   0sleep 1000000000
2271   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 2268) des Prozesses.

2268 -10 sleep 1000000000
2271   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.
#  renice -n -7 2268
2268(process ID) old priority -10, new priority -7
  • 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

Sie planen apt-get upgrade auszuführen, um Ihr System auf den neuesten Stand zu bringen. Da dieses Kommando erfahrungsgemäß eine hohe Systemlast verursacht,wollen Sie ihm eine geringere Prozesspriorität zuweisen.Welchen Befehl werden Sie apt-get voranstellen, damit andere Prozesse durch die Aktualisierung nicht negativ beeinflusst werden? (Wählen Sie zwei Antworten.)

  1. A: nice-14
  2. B: nice-n14
  3. C: renice-n14
  4. D: nice-n-14
  5. E: nice--14
A,B

Sie stellen fest, dass das System, an dem Sie arbeiten, sehr träge reagiert. Eine Über-prüfung ergibt, dass ein Backupskript einen großen Teil der Systemressourcen verbraucht.Die zugehörige Prozess-ID ist 8490. Welches Kommando können Sie verwenden, um die Ausführungspriorität der Datensicherung im laufenden Betrieb zu senken

  1. A: nice--12 8490
  2. B: bg
  3. C: renice-n15 8490
  4. D: renice-15 8490
  5. E: nice-n12 8490
C

Welche der folgenden Programme können Einfluss auf die Ausführungspriorität eines Prozesses nehmen? (Wählen Sie drei Programme aus.

  1. A: bg
  2. B: nice
  3. C: renice
  4. D: fg
  5. E: top

B,C,E

Was ist der maximale niceness Wert, den ein regulärer Benutzer einem Prozess mit dem Befehl nice zuweisen kann, wenn er einen neuen Prozess ausführt?

  1. A: 9
  2. B: 19
  3. C: 49
  4. D: 99

B