Free — no signup required

The Interface: `/proc/pressure/`

2 min read

The Three Files

PSI exposes its metrics through a virtual filesystem directory that only exists on kernels 4.20 and later: /proc/pressure/. Inside, you will find three text files:

  1. /proc/pressure/cpu — Tracks how long tasks were runnable but had to wait in the scheduler queue because all CPU cores were busy.
  2. /proc/pressure/memory — Tracks how long tasks were stalled waiting for RAM — for example, during page faults, direct memory reclaim, or swap-ins.
  3. /proc/pressure/io — Tracks how long tasks were stalled waiting for disk storage — reads, writes, or metadata operations.

On a lightly loaded system, each file holds two lines — one prefixed some, one full — each carrying four fields, all reading near zero when idle.

Each field means:

Field Meaning
some / full The scope of the stall (explained in the next section)
avg10 Percentage of time stalled over the last 10 seconds
avg60 Percentage of time stalled over the last 60 seconds
avg300 Percentage of time stalled over the last 300 seconds (5 minutes)
total Cumulative microseconds of stall time since boot

The averages are exponentially weighted moving averages — recent events have more influence than older ones. This means avg10 reacts quickly to sudden spikes, while avg300 smooths out transient blips and shows sustained trends. A spike in avg10 that doesn't appear in avg300 is a brief burst. A spike in all three is a chronic problem.

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