202 Linux-Prozesse [1 PT]

Posted About 2 years ago. Visible to the public.

Wir wollen im Detail verstehen, wie in Unix-Systemen Prozesse gehandhabt werden und wie wir Prozesse aus dem Userland behandeln können.

Ziele

  • Informationen über laufende Prozesse darstellen
  • Die dargestellten Informationen verstehen
  • Prozesse beenden
  • Wie sehe ich laufende Prozesse, wieviel Ressourcen nutzt ein Prozess
  • Was ist nice, renice und wie funktioniert das
  • Was ist CPU affinity
  • Was ist der Unterschied zwischen Prozessen und Threads

Inhalte

Die notwendigen Bücher hat makandra für seine Trainees erworben und du findest diese im Google Drive.

Übungen

  • Verstehe den unterschiedlichen Output von
    • ps
    • ps au
    • ps auxww
    • Ließ dazu man ps falls es dir nicht klar ist
  • Benutze top und htop
    • Lass parallel openssl speed laufen. Was passiert?
    • Lass parallel cat /dev/urandom > /dev/null laufen. Was passiert? Was macht das Kommando?
  • Verschiebe den laufenden OpenSSL-Prozess zwischen CPUs:
    • sudo taskset -c -p 00 $pid
    • sudo taskset -c -p 01 $pid
  • Sortiere die Prozesse in top und htop nach verbrauchter CPU-Zeit und danach nach Speicherverbauch
  • Schau dir den output von pstree an
    • Überlege dir was die hierarchische darstellung bedeutet, warum sieht das so aus?
    • von welchem Prozess stammt alles ab? Welche PID wird dieser Prozess immer haben?
  • Wie findest du Threads die zu einem Prozess gehören?
Thomas Eisenbarth
Last edit
11 months ago
Simon Hofmann
License
Source code in this card is licensed under the MIT License.
Posted by Thomas Eisenbarth to DevOps Curriculum (2022-01-24 10:05)