Lezione 1Analisi della memoria: free -m, /proc/meminfo, slabtop, smem—interpretare memoria usata vs disponibile e comportamento swapQui analizzerai il comportamento della memoria usando free, /proc/meminfo, slabtop e smem. La sezione spiega la cache di Linux, i buffer e il reclaim, come interpretare l'utilizzo dello swap e come rilevare perdite di memoria, frammentazione e limiti mal configurati.
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 risksLezione 2Utilizzo rete e colli di bottiglia: iftop, nload, ss, netstat, ip -s link, tc, tcpdump—identificare saturazione rete e connessioni problematicheQuesta sezione copre la diagnosi di utilizzo di rete e colli di bottiglia usando iftop, nload, ss, ip, tc e tcpdump. Imparerai a identificare saturazione, vicini rumorosi, stati di connessione e problemi a livello di pacchetto che contribuiscono a applicazioni lente.
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 tcpdumpLezione 3Latenza storage e I/O profondo: blktrace, bpftrace (script base), fio per test—come misurare e interpretare latenza e throughputQuesta sezione copre latenza storage e analisi I/O profonda usando blktrace, script bpftrace base e benchmark fio. Imparerai a misurare latenza e throughput, interpretare profondità coda e distinguere limiti dispositivo da problemi di workload.
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 bottlenecksLezione 4Investigazione processi: ps, filtri top/htop, pgrep, pidstat, nice/renice—come trovare processi pesanti su CPU e memoriaImparerai a investigare processi con ps, filtri top o htop, pgrep, pidstat e nice o renice. La sezione mostra come identificare task pesanti su CPU e memoria, tracciare I/O per processo e regolare priorità per ridurre contese.
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 reniceLezione 5Panoramica risorse sistema: top, htop, vmstat, mpstat, dstat—cosa mostra ciascuno e pattern output attesiQui imparerai a leggere snapshot risorse di sistema usando tool come top, htop, vmstat, mpstat e dstat. La sezione si concentra su comprendere metriche CPU, memoria e load, e riconoscere pattern di utilizzo normali vs patologici.
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 timelinesLezione 6I/O disco e controlli filesystem: iostat, iotop, sar -d, lsblk, df -h, du -sh, tune2fs, xfs_info—rilevare colli di bottiglia I/O e spazio bassoQuesta sezione si concentra su I/O disco e salute filesystem usando iostat, iotop, sar -d, lsblk, df, du, tune2fs e xfs_info. Imparerai a rilevare saturazione, accumulo coda, errori filesystem e condizioni di spazio basso che degradano performance.
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 checksLezione 7Log sistema e journaling: journalctl (systemd), /var/log/messages, /var/log/syslog, log auth—cosa cercare e perchéQuesta sezione spiega come usare systemd journalctl e file log classici come /var/log/messages, /var/log/syslog e log autenticazione. Imparerai quali pattern cercare, come filtrare rumore e come i log supportano analisi cause principali.
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 incidentsLezione 8Monitoraggio basato su tempo e storico: sar, sysstat, collectl—raccogliere e leggere metriche storiche per correlare eventiImparerai a raccogliere e interpretare metriche storiche usando sar, sysstat e collectl. La sezione spiega come schedulare raccolta dati, leggere report serie temporali e correlare anomalie performance con cambiamenti configurazione o deploy.
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 windowsLezione 9Insight kernel e scheduler: dmesg, sysctl -a, parametri /proc/sys/vm—cosa rivelano messaggi kernel e tunabiliQui esplorerai insight kernel e scheduler usando dmesg, sysctl e parametri /proc/sys/vm. La sezione spiega come messaggi kernel, tunabili e comportamento scheduler rivelano problemi hardware, malfunzionamenti e opzioni tuning.
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 changesLezione 10Approccio a determinazione cause principali: albero decisionale step-by-step per classificare issues come CPU, RAM, I/O disco o reteQuesta sezione presenta un albero decisionale pratico per analisi cause principali. Imparerai a classificare incidenti come bound CPU, memoria, I/O disco o rete, quali tool eseguire in ogni ramo e come raffinare iterativamente ipotesi usando evidenze raccolte.
Initial triage and problem statementClassifying CPU versus I/O bound symptomsDistinguishing memory pressure from leaksIdentifying network versus local bottlenecksIterative hypothesis testing with metrics