# Kubernetes v1.36: PSI Metrics for Kubernetes Graduates to GA

DevFeed: [Kubernetes v1.36: PSI Metrics for Kubernetes Graduates to GA](<https://devfeed.tech/articles/kubernetes-v1-36-psi-metrics-for-kubernetes-graduates-to-ga-4550.md>)

Original publisher: [Read original article](<https://kubernetes.io/blog/2026/05/12/kubernetes-v1-36-psi-metrics-ga/>)

Author: Maria Fernanda Romano Silva

Published: 2026-05-12T18:35:00Z

Content type: article

Language: en

Sources: [Kubernetes Blog](<https://devfeed.tech/sources/kubernetes-blog.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Performance Testing](<https://devfeed.tech/topics/performance-testing.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [IO](<https://devfeed.tech/topics/io.md>)

Tags: [cpu](<https://devfeed.tech/tags/cpu.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [latency](<https://devfeed.tech/tags/latency.md>), [linux](<https://devfeed.tech/tags/linux.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-testing](<https://devfeed.tech/tags/performance-testing.md>), [production](<https://devfeed.tech/tags/production.md>), [resource](<https://devfeed.tech/tags/resource.md>), [scale](<https://devfeed.tech/tags/scale.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [testing](<https://devfeed.tech/tags/testing.md>), [v1](<https://devfeed.tech/tags/v1.md>)

## AI overview

Kubernetes v1.36 graduates Pressure Stall Information (PSI) metrics to general availability, providing stable visibility into CPU, memory, and I/O resource contention at node, pod, and container levels. The article explains PSI signals, moving averages, and performance validation on high-density workloads to assess production readiness and collection overhead.

## Source excerpt

Since its original implementation in the Linux kernel in 2018, Pressure Stall Information (PSI) has provided users with the high-fidelity signals needed to identify resource saturation before it becomes an outage. Unlike traditional utilization metrics, PSI tells the story of tasks stalled and time lost, all in nicely-packaged percentages of time across the CPU, memory, and I/O. With the recent release of Kubernetes v1.36, users across the ecosystem have a stable, reliable interface to observe resource contention at the node, pod, and container levels. In this post, we will dive into the improvements and performance testing that proved its readiness for production. Beyond utilization: why PSI? Monitoring CPU or memory usage alone can be misleading. A node may report XX% (below 100%) CPU utilization while certain tasks are experiencing severe latency due to scheduling delays. PSI fills this gap by providing: Cumulative Totals: Absolute time spent in a stalled state. Moving Averages: 10s, 60s, and 300s windows that allow operators to distinguish between transient spikes and sustained resource tension. Proving stability: performance testing at scale A common concern when graduating telemetry features is the resource overhead required to collect and serve the metrics. To address this, SIG Node conducted extensive performance validation on high-density workloads (80+ pods) across various machine types. Our testing focused on two primary scenarios to isolate the impact of the Kubelet and kernel-level collection respectively: Kernel PSI ON / Kubelet Feature OFF vs Kernel PSI ON / Kubelet Feature ON (Kubelet overhead) Kernel PSI OFF / Kubelet Feature ON vs Kernel PSI ON / Kubelet Feature ON (Kernel overhead) Scenario 1: The Kubelet Overhead First, we looked at the kubelet usage on 4 core machines (Case 1). For these, the Linux kernel was already tracking pressure on both clusters by default(psi=1), but we toggled the KubeletPSI feature gate to see if the Kubelet actively qu