Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Article5 min readViews0

How to Read PSI in Linux: Check CPU, Memory, and Disk Pressure

What /proc/pressure files show, how to distinguish resource busy time from wait time, and how to use avg10, avg60, avg300, and total without false thresholds.

Comments 0

Server rack with three groups of load indicators without labels
In this article

High CPU usage does not always mean the server is in trouble, and nearly full memory does not always require increasing VPS resources. It is more useful to know how long tasks could not progress due to lack of CPU, memory, or I/O. For this, the Linux kernel provides Pressure Stall Information, or PSI.

This guide applies to Linux with PSI enabled and the procfs interface. Commands are verified against kernel documentation dated September 26, 2026, and only read data. In the isolated environment used, PSI files were not mounted, so execution confirmed the expected error of a missing interface but did not provide a numerical example from a real server.

Check for the interface

ls -l /proc/pressure

If the directory exists, files for CPU, memory, and I/O are usually available. The absence of the directory means the kernel, its configuration, or the container environment does not provide PSI. Do not create these files manually: this is a virtual kernel interface.

Read the three sources

cat /proc/pressure/cpu

cat /proc/pressure/memory

cat /proc/pressure/io

Reading imposes almost no load. It displays current moving averages and accumulated wait time since loading or the creation of the corresponding group. These values must be correlated with the interval, monitoring data, and user latency.

Examine the some and full lines

The some line indicates that at least part of the tasks were delayed due to resource pressure. The full line indicates a more severe state: the entire group of non-trivial tasks was unable to perform useful work simultaneously. For CPU, only the some line is typically available because if an executable task exists, the processor remains busy with useful work.

Field

Meaning

How to Avoid Mistakes

avg10

Average wait time of approximately 10 seconds

Sensitive to short spikes

avg60

Average of approximately one minute

Smooths out brief bursts

avg300

Average of approximately five minutes

May hide a recently started issue

total

Accumulated wait time in microseconds

The absolute value increases; the difference over an interval is what matters

some

Some tasks were waiting

Does not mean a complete system halt

full

All non-trivial tasks were simultaneously blocked

The correlation with service delays is especially important

An average value of 5.00 does not mean five seconds of wait time, nor does it equal CPU utilization. It represents the percentage of time within the window. To evaluate the accumulated field, take two data points and divide the increase in total by the interval duration in microseconds.

Correlate the resource with the symptom

  • An increase in cpu some alongside the execution queue indicates that tasks lack CPU time.

  • An increase in memory some indicates delays when returning memory; it correlates with swap, reclaim, and application behavior.

  • An increase in memory full indicates periods when all tasks in the group were stopped due to memory, requiring rapid diagnosis.

  • An increase in io some occurs when individual tasks wait for the disk; io full indicates a complete group stoppage on input/output.

  • Low PSI on a slow site directs the investigation toward the application, database locks, network, or external APIs.

Capture two data points for total

For manual verification, save the output, wait for a consistent short interval under observation, and capture it again. Do not create artificial load on a production server. Compare the increase in total with the website response graphs and other metrics.

cat /proc/pressure/memory

If monitoring collects PSI data regularly, manual calculation is unnecessary. It is important to preserve the raw fields, interval, and measurement scope. In containers, metrics may relate to cgroups, the host, or be hidden; this depends on the configuration, so the boundary must be verified before drawing conclusions.

Why There Is No Universal Threshold

Brief pressure during backup and sustained pressure during order placement carry different risks. The threshold is selected based on the baseline and the acceptable latency of the specific service. First, correlate with response time, errors, and queues, then set warning and critical levels.

PSI does not replace standard metrics. For CPU, you need utilization and the run queue; for memory, available volume, swap, and owners; for disk, latency and throughput. PSI adds the answer to whether resource scarcity prevented tasks from doing work.

When to Hand Diagnostics Over to a Specialist

  • The full metric rises alongside store errors or database timeouts.

  • Pressure persists after known background tasks have finished.

  • The container and host report contradictory data.

  • To fix this, adjust limits, swap, the scheduler, storage, or the database configuration.

  • There is no baseline, yet an upgrade is proposed based on a single instantaneous value.

First, save the interval and context, then change one cause at a time. PSI is especially useful not as a red alert, but as a way to distinguish resource saturation from actual waiting and to verify whether a change helped the system perform work.

Discussion 0

Share your experience and ask questions. Comments without links appear after editorial review.

No comments yet. Start the discussion.