Lesson 1Memory analysis: free -m, /proc/meminfo, slabtop, smem—interpreting used vs available memory and swap behaviorHere you go analyze memory how e dey work using free, /proc/meminfo, slabtop, and smem. Di section go explain Linux caching, buffers, and reclaim, how to understand swap use, and how to spot memory leaks, fragmentation, and wrong limits.
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 risksLesson 2Network usage and bottlenecks: iftop, nload, ss, netstat, ip -s link, tc, tcpdump—identifying network saturation and problematic connectionsDis section cover diagnosing network use and blocks using iftop, nload, ss, ip, tc, and tcpdump. You go learn to find saturation, noisy neighbors, connection states, and packet problems wey dey make applications slow.
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 tcpdumpLesson 3Storage latency and deeper I/O: blktrace, bpftrace (basic scripts), fio for tests—how to measure and interpret latency and throughputDis section cover storage latency and deeper I/O analysis using blktrace, basic bpftrace scripts, and fio benchmarks. You go learn how to measure latency and throughput, understand queue depth, and separate device limits from workload problems.
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 bottlenecksLesson 4Process investigation: ps, top/htop filters, pgrep, pidstat, nice/renice—how to find CPU- and memory-heavy processesYou go learn to check processes with ps, top or htop filters, pgrep, pidstat, and nice or renice. Di section go show how to find CPU and memory heavy tasks, track per process I/O, and adjust priorities to reduce fight.
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 reniceLesson 5System resource overview: top, htop, vmstat, mpstat, dstat—what each shows and expected output patternsHere you go learn to read system-wide resource snapshots using tools like top, htop, vmstat, mpstat, and dstat. Di section focus on understanding CPU, memory, and load metrics, and recognizing normal versus bad usage patterns.
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 timelinesLesson 6Disk I/O and filesystem checks: iostat, iotop, sar -d, lsblk, df -h, du -sh, tune2fs, xfs_info—detecting I/O bottlenecks and low spaceDis section focus on disk I/O and filesystem health using iostat, iotop, sar -d, lsblk, df, du, tune2fs, and xfs_info. You go learn to detect saturation, queue buildup, filesystem errors, and low space wey dey spoil 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 checksLesson 7System logs and journaling: journalctl (systemd), /var/log/messages, /var/log/syslog, auth logs—what to search for and whyDis section explain how to use systemd journalctl and old log files like /var/log/messages, /var/log/syslog, and authentication logs. You go learn wetin to search for, how to filter noise, and how logs help find real causes.
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 incidentsLesson 8Time-based and historical monitoring: sar, sysstat, collectl—collecting and reading historical metrics to correlate eventsYou go learn how to collect and understand historical metrics using sar, sysstat, and collectl. Di section explain how to schedule data collection, read time series reports, and connect performance problems with config changes or deployments.
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 windowsLesson 9Kernel and scheduler insights: dmesg, sysctl -a, /proc/sys/vm parameters—what kernel messages and tunables revealHere you go explore kernel and scheduler insights using dmesg, sysctl, and /proc/sys/vm parameters. Di section explain how kernel messages, tunables, and scheduler behavior show hardware problems, wrong configs, and tuning options.
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 changesLesson 10Approach to root cause determination: step-by-step decision tree to classify issues as CPU, RAM, disk I/O, or networkDis section show a practical decision tree for root cause analysis. You go learn how to classify problems as CPU, memory, disk I/O, or network bound, which tools to run in each part, and how to refine ideas using evidence.
Initial triage and problem statementClassifying CPU versus I/O bound symptomsDistinguishing memory pressure from leaksIdentifying network versus local bottlenecksIterative hypothesis testing with metrics