Free — no signup required

Introduction: The Limitation of "Load Average

2 min read

Are we busy or are we stuck?

For decades, Linux engineers relied on Load Average to judge system health. You can see it in the output of uptime or top — three numbers representing the average number of processes in a runnable or uninterruptible state over the last 1, 5, and 15 minutes. On a 4-core machine, a load average of 4.0 means the system is fully utilized. A load of 8.0 means it's overloaded — twice as many processes want to run as there are cores to run them.

But Load Average has a fatal flaw: it mixes CPU usage, disk I/O waits, and uninterruptible sleeps into a single, muddy number. If load is 50 on a 4-core machine, is the CPU on fire? Or is the database waiting for a slow hard drive? Or is the kernel struggling to find free RAM? Load Average cannot tell you. You end up guessing, then reaching for a second tool (iostat, vmstat, sar), then a third, trying to correlate numbers that were collected at different moments in time.

Pressure Stall Information (PSI), introduced in Linux kernel 4.20 (released December 2018) by engineers at Facebook, solves this directly. It provides a precise, real-time answer to the question: "How much time are my tasks stalling because they don't have the hardware resources they need?" It breaks this down into three specific, non-overlapping categories: CPU, Memory, and I/O. Each category tells you exactly where the bottleneck is, without ambiguity.

Interview Tip

Interviewers often ask: "How do you tell if a system is CPU-bound vs. I/O-bound?" The weak answer is "I look at CPU usage and iostat." The strong answer is: "I check PSI — /proc/pressure/cpu and /proc/pressure/io. PSI tells me the percentage of time tasks were actually stalled waiting for each resource, which is a direct measure of bottleneck impact rather than utilization. High CPU utilization with low CPU pressure means the hardware is being used efficiently. High I/O pressure with low CPU utilization means the application is blocked on disk."

This is one of 18 chapters

Every chapter is free — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.

Sign up free