Linux-Prozesse [1 PT]

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 Over 2 years ago