Free to read · Three levels
Linux performance tuning: measure, explain, and verify
A complete performance track that connects service goals to CPU, memory, storage, network, profiling, capacity, and reversible tuning evidence.
Start learningIn this course
Learn to diagnose Linux performance through mechanisms and matched measurements. Eighteen developed lessons progress from baselines and resource interpretation to perf, PSI, cgroup policy, application correlation, NUMA, eBPF design, profiling, capacity planning, and controlled tuning.
This track builds on general Linux knowledge and focuses on performance reasoning rather than basic administration. Examples use synthetic values or prepared disposable labs; every block is non-runnable, and no lesson changes host kernel settings, services, firewalls, or generates load.
What you will learn
- Define comparable baselines, useful throughput, latency distributions, and scope.
- Diagnose CPU, scheduling, memory, I/O, network, and scoped-policy constraints.
- Plan bounded profiling, tracing, and isolated capacity experiments.
- Evaluate reversible changes while preserving correctness and recovery reserve.
Your learning path
Three levels
Basic: measurement and resource signals
Build comparable baselines and interpret latency, CPU, memory, storage, and network evidence.
- Build a trustworthy performance baseline
- Interpret latency, throughput, and queues
- Separate CPU utilization, load, and steal
- Read memory use without fearing cache
- Separate storage latency from utilization
- Measure the network path and application boundary
Intermediate: mechanism and scoped diagnosis
Connect perf, scheduling, pressure, writeback, managed budgets, and application waits.
- Use perf counters to test CPU hypotheses
- Find scheduling and synchronization delay
- Diagnose memory pressure and OOM boundaries
- Trace writeback and filesystem delay
- Read effective cgroup and systemd budgets
- Connect Linux evidence to application waits
Advanced: topology, observability, and controlled tuning
Reason about NUMA, eBPF, profiles, network scaling, capacity, and reversible experiments.
- Reason about NUMA locality and page size
- Design bounded eBPF observations
- Interpret call graphs and off-CPU time
- Trace network scaling through queues and CPUs
- Design capacity tests without misleading results
- Deliver reversible, evidence-based tuning
Who this is for
- Developers and operators who already understand Linux processes, files, services, and command-line tools.
- Engineers learning to justify performance and capacity decisions with evidence.
Before you start
- General Linux shell, process, permission, storage, and networking foundations.
- Basic arithmetic, rates, and application request/response concepts.