Prozess-Prioritäten ändern
Code: 103.6
Du bist nicht angemeldet. Melde dich an, um deinen Lernfortschritt zu speichern und Quizze zu bearbeiten.
Prozess-Ausführungsprioritäten ändern
103.6.L1
- Kernkonzepte von **Prioritäten** verstehen
- Prüfungsrelevante Befehle und Konfigurationen beherrschen
- Typische Fehlerquellen erkennen und beheben
## Zusammenfassung
Diese Lektion behandelt das LPIC-Thema **Prozess-Ausführungsprioritäten ändern**. Das Thema gehört zum Bereich Prioritäten und ist Teil des offiziellen Prüfungsstoffs.
Im Fokus stehen die praktischen Grundlagen, die für die Zertifizierung essenziell sind. Wichtige Schwerpunkte sind: nice, renice, Scheduling.
## Wichtige Befehle
- Inhalt folgt in der aktualisierten Version
## Prüfungstipps
- Lesen Sie die Manpages zu allen genannten Befehlen
- Üben Sie Befehle in einer virtuellen Maschine oder Container-Umgebung
- Achten Sie auf die Unterschiede zwischen Distributionen
## Weiterführende Links
- [LPI-Lernmaterial (offiziell)](https://www.lpi.org)
- [Linux Man Pages Online](https://man7.org/linux/man-pages/)
Quiz (4 Fragen)
Was passiert in einem präemptiven Multitaskingsystem, wenn ein Prozess niedriger Priorität den Prozessor belegt und ein Prozess höherer Priorität zur Ausführung in die Warteschlange eingefügt wird?
Erklärung: In einem präemptiven System kann der Scheduler einem laufenden Prozess die CPU entziehen. Ein Prozess mit höherer Priorität erhält sofort die CPU, während der niederpriore Prozess pausiert/wartet.
In der folgenden top-Ausgabe: Welche PIDs haben Echtzeitpriorität? PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 171420 10668 7612 S 0,0 0,1 9:59.15 systemd 2 root 20 0 0 0 0 S 0,0 0,0 0:02.76 kthreadd 3 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_gp 12 root rt 0 0 0 0 S 0,0 0,0 0:08.17 migration/0 14 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/0 16 root rt 0 0 0 0 S 0,0 0,0 0:11.79 migration/1
Erklärung: In top werden Echtzeitprozesse durch PR = rt oder negative Werte (PR = -1 – Echtzeit-Priorität) gekennzeichnet. migration/0 (PID 12) und migration/1 (PID 16) zeigen PR=rt, was eine Echtzeitpriorität anzeigt.
In der folgenden ps -el-Ausgabe: Welche PID hat die höchste Priorität? F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 1 0 0 80 0 - 42855 - ? 00:09:59 systemd 1 S 0 2 0 0 80 0 - 0 - ? 00:00:02 kthreadd 1 I 0 3 2 0 60 -20 - 0 - ? 00:00:00 rcu_gp 1 S 0 9 2 0 80 0 - 0 - ? 00:00:49 ksoftirqd/0 1 S 0 12 2 0 -40 - - 0 - ? 00:00:08 migration/0
Erklärung: Bei ps -el zeigt die Spalte PRI die statische Priorität an (niedrigere Werte = höhere Priorität). PID 12 hat PRI -40, was die höchste Priorität bedeutet. Normale Prozesse haben PRI 80.
Bei dem Versuch, die Priorität eines Prozesses mit renice anzupassen, tritt folgender Fehler auf: $ renice -10 21704 renice: failed to set priority for 21704 (process ID): Permission denied Was ist die wahrscheinlichste Ursache?
Erklärung: Nur root darf den nice-Wert unter 0 (also negative Werte wie -10) setzen. Normale Benutzer können nur ihre eigenen Prozesse mit nicen ≥ 0 renice-n oder nice-Werte erhöhen (niedrigere Priorität).
✓ Quiz abgeschlossen! 🎉
/ richtig
Karteikarten (2)
Frage
Mit welchem ps-Befehl und welchem --sort-Flag sortieren Sie alle Systemprozesse nach CPU-Auslastung in aufsteigender Reihenfolge?
Tippe zum Aufdecken →
Antwort
ps -el --sort=pcpu Erklärung: ps -el zeigt alle Prozesse im ausführlichen Format. Die Option --sort=pcpu sortiert nach CPU-Nutzung (pcpu = Prozent CPU). Aufsteigende Reihenfolge ist der Standard; für absteigend würde man --sort=-pcpu verwenden.
Frage
Wie zeigt man mit schedtool die Scheduling-Parameter eines Prozesses an (z.B. PID 1750) und wie stellt man ihn auf Echtzeit mit Priorität -90 (wie von top angezeigt) um?
Tippe zum Aufdecken →
Antwort
Parameter anzeigen: schedtool 1750 Auf Echtzeit umstellen: schedtool -R -p 89 1750 Erklärung: schedtool ohne Optionen zeigt die aktuellen Parameter an. -R setzt die Scheduling-Richtlinie auf Echtzeit (Round Robin). -p 89 setzt die Echtzeit-Priorität auf 89; top zeigt diese als PR = -1 - 89 = -90 (der top-eigene Offset) an.