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:
/proc/pressure/cpu— Tracks how long tasks were runnable but had to wait in the scheduler queue because all CPU cores were busy./proc/pressure/memory— Tracks how long tasks were stalled waiting for RAM — for example, during page faults, direct memory reclaim, or swap-ins./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.