Lekcja 1Analiza pamięci: free -m, /proc/meminfo, slabtop, smem — interpretacja wykorzystanej pamięci w porównaniu do dostępnej oraz zachowanie swapuTutaj przeanalizujesz zachowanie pamięci za pomocą free, /proc/meminfo, slabtop i smem. Sekcja wyjaśnia mechanizmy buforowania Linuksa, bufory i reclamation pamięci, jak interpretować użycie swapu oraz jak wykrywać wycieki pamięci, fragmentację i źle skonfigurowane limity.
Reading free -m and understanding cached memoryKey fields in /proc/meminfo for diagnosisUsing slabtop to inspect kernel slab usageUsing smem to attribute memory per processRecognizing swap thrashing and OOM risksLekcja 2Użycie sieci i wąskie gardła: iftop, nload, ss, netstat, ip -s link, tc, tcpdump — identyfikacja saturacji sieci i problematycznych połączeńTa sekcja omawia diagnozowanie użycia sieci i wąskich gardeł za pomocą iftop, nload, ss, ip, tc i tcpdump. Nauczysz się identyfikować saturację, hałaśliwych sąsiadów, stanów połączeń oraz problemów na poziomie pakietów, które wpływają na spowolnienie aplikacji.
Monitoring live bandwidth with iftop and nloadInspecting sockets and states with ssUsing ip -s link to view interface errorsBasics of tc for shaping and rate limitingTargeted packet capture with tcpdumpLekcja 3Opóźnienia pamięci masowej i głębsze I/O: blktrace, bpftrace (podstawowe skrypty), fio do testów — jak mierzyć i interpretować opóźnienia i przepustowośćTa sekcja omawia opóźnienia pamięci masowej i głębszą analizę I/O za pomocą blktrace, podstawowych skryptów bpftrace oraz benchmarków fio. Nauczysz się mierzyć opóźnienia i przepustowość, interpretować głębokość kolejki oraz odróżniać limity urządzeń od problemów obciążeniowych.
Understanding latency, IOPS, and throughputUsing blktrace to inspect block I/O patternsIntroductory bpftrace scripts for disk latencyDesigning fio workloads that mimic productionReading fio reports and spotting bottlenecksLekcja 4Badanie procesów: ps, filtry top/htop, pgrep, pidstat, nice/renice — jak znaleźć procesy obciążające CPU i pamięćNauczysz się badać procesy za pomocą ps, filtrów top/htop, pgrep, pidstat oraz nice/renice. Sekcja pokazuje, jak identyfikować zadania obciążające CPU i pamięć, śledzić I/O per proces oraz dostosowywać priorytety w celu zmniejszenia konfliktów.
Listing and filtering processes with psUsing pgrep and pkill safely and preciselyUsing pidstat for per process CPU and I/OFiltering top and htop by user or resourceAdjusting priorities with nice and reniceLekcja 5Przegląd zasobów systemowych: top, htop, vmstat, mpstat, dstat — co każde pokazuje i oczekiwane wzorce wyjściaTutaj nauczysz się czytać migawki zasobów systemowych za pomocą narzędzi takich jak top, htop, vmstat, mpstat i dstat. Sekcja skupia się na zrozumieniu metryk CPU, pamięci i obciążenia oraz rozpoznawaniu normalnych w porównaniu do patologicznych wzorców użycia.
Key CPU, load, and memory fields in topUsing htop for interactive process analysisvmstat for run queue, swap, and I/O insightmpstat for per-CPU utilization and steal timedstat for combined multi-resource timelinesLekcja 6I/O dysku i sprawdzenia systemu plików: iostat, iotop, sar -d, lsblk, df -h, du -sh, tune2fs, xfs_info — wykrywanie wąskich gardeł I/O i niskiej przestrzeniTa sekcja skupia się na I/O dysku i zdrowiu systemu plików za pomocą iostat, iotop, sar -d, lsblk, df, du, tune2fs i xfs_info. Nauczysz się wykrywać saturację, gromadzenie kolejek, błędy systemu plików oraz stany niskiej przestrzeni, które degradują wydajność.
Using iostat to spot busy and slow devicesUsing iotop to find I/O heavy processessar -d for historical disk utilization trendsChecking layout and types with lsblk and dfFinding space hogs with du and inode checksLekcja 7Logi systemowe i journaling: journalctl (systemd), /var/log/messages, /var/log/syslog, logi uwierzytelniania — czego szukać i dlaczegoTa sekcja wyjaśnia, jak używać journalctl systemd i klasycznych plików logów takich jak /var/log/messages, /var/log/syslog oraz logi uwierzytelniania. Nauczysz się, jakich wzorców szukać, jak filtrować szum oraz jak logi wspierają analizę przyczyn źródłowych.
journalctl basics and useful filtering optionsReading /var/log/messages and /var/log/syslogFinding errors, warnings, and rate-limited eventsAnalyzing authentication and sudo related logsCorrelating log timestamps with incidentsLekcja 8Monitorowanie oparte na czasie i historyczne: sar, sysstat, collectl — zbieranie i czytanie historycznych metryk do korelacji zdarzeńNauczysz się zbierać i interpretować historyczne metryki za pomocą sar, sysstat i collectl. Sekcja wyjaśnia, jak zaplanować zbieranie danych, czytać raporty szeregów czasowych oraz korelować anomalie wydajności z zmianami konfiguracji lub wdrożeniami.
Enabling and configuring sysstat collectionUsing sar for CPU, memory, and I/O historyReading sar network and load average trendsUsing collectl for multi-resource timelinesCorrelating metrics with change windowsLekcja 9Wgląd w kernel i scheduler: dmesg, sysctl -a, parametry /proc/sys/vm — co ujawniają komunikaty kernela i parametry strojeniaTutaj zbadasz wgląd w kernel i scheduler za pomocą dmesg, sysctl i parametrów /proc/sys/vm. Sekcja wyjaśnia, jak komunikaty kernela, parametry strojenia i zachowanie schedulera ujawniają problemy sprzętowe, złe konfiguracje i opcje strojenia.
Reading dmesg for hardware and driver issuesListing and querying sysctl tunable valuesKey /proc/sys/vm parameters for memoryScheduler related kernel parameters overviewSafely persisting kernel tuning changesLekcja 10Podejście do określania przyczyn źródłowych: krok po kroku drzewo decyzyjne do klasyfikacji problemów jako CPU, RAM, I/O dysku lub siećTa sekcja przedstawia praktyczne drzewo decyzyjne do analizy przyczyn źródłowych. Nauczysz się klasyfikować incydenty jako związane z CPU, pamięcią, I/O dysku lub siecią, które narzędzia uruchomić w każdej gałęzi oraz jak iteracyjnie udoskonalać hipotezy na podstawie zebranych dowodów.
Initial triage and problem statementClassifying CPU versus I/O bound symptomsDistinguishing memory pressure from leaksIdentifying network versus local bottlenecksIterative hypothesis testing with metrics