Wann

24/06/2024 - 25/06/2024    
Ganztägig

Wo

ETC-Partner
ETC-Partner, ETC-Partner

Veranstaltungstyp

Diese Schulung richtet sich an Teilnehmer*innen mit Administrationserfahrungen im Linux Bereich wie sie durch unseren Linux 1 – Grundlagen Kurs vermittelt werden.

Funktioniert ein Programm nicht so wie sie es erwarten? Dann wäre es toll, wenn man analysieren könnte welche Probleme ein Programm im Moment hat. Das haben auch die Kernelentwickler*innen erkannt und daher haben sie den Linux Administratoren eine Vielzahl von Werkzeugen zur Analyse, Überwachung und Diagnose von Prozessen zur Verfügung gestellt. Also wenn sie als Linux Administrator*in mehr als ein einfach „kill -9 #“ beherrschen wollen dann sollte Sie diese Schulung besuchen in der sie richtige Diagnose von Linux Prozessen und Programmen erlernen. Weiters dienen einige Werkzeuge nicht nur zur Analyse sondern auch um die System Performance zu verbessern.
Linux Administrator*innen
Grundlagen Prozesse

  • Prozesse vs. Threads
  • Aufbau eines Prozesses
  • Das Bedeutung von PID, TID, PPID, und TGID bei Threads
  • Context Switch
  • Prozess Attribute
  • Prozess Kenndaten (Priorität, Speicher, Rechenzeit, geöffnete Dateien…)
  • Verstehen der Prozesszustände (uninterruptible sleep, zombie, running, runable, …)
  • Vorder und Hintergrundprozesse
  • Kernel Threads

Linux Prozess Diagnose und Verwaltung

  • Prozess Diagnose Werkzeuge im Detail (ps, top, pstree, pidof…)
  • Prozess und Thread Anzeigemöglichkeiten
  • Zeitmessungen mit time (wait, user, sys)
  • Das /proc Verzeichnis im Detail
  • Arbeiten mit offenden Dateien (lsof, fuser,…)
  • Ermitteln des Speicherverbrauches von Prozessen
  • SIGHUP Handling mit nohup
  • Linux jobs Verwaltung
  • Load Averages Values (Durchschnittslast)
  • Kill Signale im Detail
  • Richtiges anwenden und abfangen von Kill Signalen (kill, killall, trap, pgrep, pkill,…)
  • Prozess Prioritäten anpassen (nice, renice)
  • Limitieren der Prozessanzahl (ulimit, systemd)
  • Verwalten von Kernel Parametern

Prozesse und Arbeitsspeicher

  • Virtual Memory
  • File System Cache (Dirty Pages, dirty_ratio, sync, fsync,…)
  • Swap Management und Tuning (swappiness, zswap, …)
  • free

Performance Analyse Werkzeuge

  • Benchmark Werkzeuge (boonie, boonie++)
  • Simulieren von Stress Situationen mit dem Befehlt stress

Prozess Kontrolle und Anpassung

  • CPU Pinning mit taskset
  • I/O Priorität mit ionice anpassen
  • vmstat, dstat, iostat, netstat, nethogs, iptraf, mpstat, pidstat, sadf, sar, sysstat
  • Linux I/O Scheduler Einstellungen (NOOP, Deadline und CFQ)
  • Non-Uniform Memory Access (NUMA)
  • TCP und Netzwerkkarten Tuning

Debuggen mit STRACE

  • Grundlagen Kernel Ring Modell
  • privilegierter Modus vs. unprivilegierter Modus
  • Syscall Interface
  • Prozess Analyse mit strace
  • Gängige Systemaufrufe im Detail
  • Child Prozess Erstellung
  • Performancemessung mit strace

https://www.etc.at/seminare/PVSD