A Go GC pause spent almost all its time waiting for swapped pages
In a controlled Linux experiment, Fernando Simões observed a 40-millisecond Go garbage-collection pause, with roughly 39 milliseconds spent on page faults. Memory pressure had pushed GC metadata into swap, so a stop-the-world phase waited for disk reads. This older investigation explains a latency failure that average pause numbers can hide; the measurements describe one workload and machine, not every Go service.
Fernando Simões · Sep 13, 2026
Why it matters
Latency investigations need to include operating-system paging, not just allocation rates and heap size.
More context
Compare tail pauses with major page faults and memory pressure when diagnosing a similar service. The author tested Linux with multigenerational LRU and NVMe storage; a follow-up found little change from Go 1.26 Green Tea.
Keep in mind
The reported timings depend on the experiment’s workload, kernel and storage.
Original read