Systematic Linux performance analysis: the USE method, CPU profiling with perf and flamegraphs, memory pressure with vmstat and /proc/meminfo, I/O profiling with iostat and blktrace, dynamic tracing with bpftrace one-liners, and strace for syscall inspection.
Profiling
-
Linux Performance Analysis -
Flamegraphs: Reading and Generating How to read and generate flamegraphs — the visualization that turned profiling into something engineers enjoy — covering CPU, off-CPU, and differential flamegraphs, and the perf and eBPF pipelines that produce them.
-
perf: Linux's Best Profiler A practical guide to perf, the profiler that actually shows you what the CPU is doing — sampling, hardware counters, call graphs, and the workflows that feed flamegraphs — written for engineers starting serious Linux performance work.
-
Pyroscope: Continuous Profiling in Production Pyroscope brings always-on profiling to production systems — flame graphs for CPU hotspots, memory leaks, and goroutine issues, correlated with your traces and metrics.
-
Profiling Applications: Finding Bottlenecks in Go, Python, and Node.js Stop guessing why your application is slow. This guide covers systematic profiling tools and techniques for Go (pprof), Python (cProfile, py-spy, line_profiler), and Node.js (clinic.js, V8 profiler) so you can find the actual bottleneck and fix it with confidence.