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,reniceund 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.
- Kapitel 12.3 aus dem LPI-Buch: https://drive.google.com/drive/folders/1hUcRPZ_lGtJoFl6VU8R4nbguxTbK7QSh Show archive.org snapshot
- Kapitel 16: https://drive.google.com/drive/folders/1Y80MbcTiZ_1EMsaOc7m9NQIJepp9rCu2 Show archive.org snapshot
- Kapitel 3 aus dem Buch "Advanced Linux Programming" (Seite 69 im PDF): 
  https://drive.google.com/drive/folders/1SG8iVOTfRbe3qbvxsZYd7zycmgfipTpf
  
    Show archive.org snapshot
  
- Schau dir Listing 3.1 an und verstehe, was der C-Code dort tut. Compile das kleine Programm mit gccund lass es laufen. Was ist der Elternprozess zu dem Programm?
 
- Schau dir Listing 3.1 an und verstehe, was der C-Code dort tut. Compile das kleine Programm mit 
- Blogpost: Introduction to Linux Threads Show archive.org snapshot
Übungen
- Verstehe den unterschiedlichen Output von
- ps
- ps au
- ps auxww
- Ließ dazu man psfalls es dir nicht klar ist
 
- Benutze topundhtop- Lass parallel openssl speedlaufen. Was passiert?
- Lass parallel cat /dev/urandom > /dev/nulllaufen. Was passiert? Was macht das Kommando?
 
- Lass parallel 
- Verschiebe den laufenden OpenSSL-Prozess zwischen CPUs:
- sudo taskset -c -p 00 $pid
- sudo taskset -c -p 01 $pid
 
- Sortiere die Prozesse in topundhtopnach verbrauchter CPU-Zeit und danach nach Speicherverbauch
- Schau dir den output von pstreean- Ü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?
Posted by Thomas Eisenbarth to DevOps Curriculum (2022-01-24 10:05)