Original companion notes for Brendan Gregg, Systems Performance: Enterprise and the Cloud, 2nd edition. Every chapter is rewritten in plain, easy language with a one-minute summary, diagrams, real examples, gotchas, FAQs, takeaways — and a command cheatsheet at the end of every lesson you can copy straight to a terminal.
What systems performance is, why it is hard, latency as the key metric, observability vs experiment, and the mental model for the whole book.
chapter 2USE method, workload characterization, drill-down analysis, latency analysis, and the anti-methods to never use.
chapter 3Kernel, syscalls, schedulers, virtual memory, and the OS internals you must know to read the metrics.
chapter 4Counters, tracing, profiling, /proc, the tool types, and how to pick the right one.
chapter 5Thread pools, locks, on-CPU vs off-CPU analysis, and profiling apps for performance.
chapter 6Run queues, utilization, IPC, caches, flame graphs, and finding what burns CPU.
chapter 7Virtual vs resident memory, paging, swapping, OOM, NUMA, and leak hunting.
chapter 8Page cache, VFS, read/write paths, latency, and why file system metrics beat disk metrics.
chapter 9IOPS, throughput, latency, queueing, saturation, and reading iostat correctly.
chapter 10TCP, retransmits, buffers, latency, and tracing the network stack end to end.
chapter 11Tenants, noisy neighbors, limits, hypervisors vs containers, and cloud-specific analysis.
chapter 12Active benchmarking, the sins of benchmarking, and producing numbers you can trust.
chapter 13The Linux profiler: record, report, stat, events, and building flame graphs.
chapter 14The built-in kernel tracer: function tracing, tracepoints, and the front-end tools.
chapter 15BCC, bpftrace, and writing your own programmable, low-overhead production tracers.
chapter 16A real performance investigation start to finish — applying every method from the book.