# Pressure Stall Information Plugin: proc.plugin Module: /proc/pressure ## Overview Introduced in Linux kernel 4.20, `/proc/pressure` provides information about system pressure stall information (PSI). PSI is a feature that allows the system to track the amount of time the system is stalled due to resource contention, such as CPU, memory, or I/O. The collectors monitored 3 separate files for CPU, memory, and I/O: - **cpu**: Tracks the amount of time tasks are stalled due to CPU contention. - **memory**: Tracks the amount of time tasks are stalled due to memory contention. - **io**: Tracks the amount of time tasks are stalled due to I/O contention. - **irq**: Tracks the amount of time tasks are stalled due to IRQ contention. Each of them provides metrics for stall time over the last 10 seconds, 1 minute, 5 minutes, and 15 minutes. Monitoring the /proc/pressure files can provide important insights into system performance and capacity planning: - **Identifying resource contention**: If these metrics are consistently high, it indicates that tasks are frequently being stalled due to lack of resources, which can significantly degrade system performance. - **Troubleshooting performance issues**: If a system is experiencing performance issues, these metrics can help identify whether resource contention is the cause. - **Capacity planning**: By monitoring these metrics over time, you can understand trends in resource utilization and make informed decisions about when to add more resources to your system. This collector is supported on all platforms. This collector only supports collecting metrics from a single instance of this integration. ### Default Behavior #### Auto-Detection This integration doesn't support auto-detection. #### Limits The default configuration for this integration does not impose any limits on data collection. #### Performance Impact The default configuration for this integration is not expected to impose a significant performance impact on the system. ## Metrics Metrics grouped by *scope*. The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels. ### Per Pressure Stall Information instance This scope has no labels. Metrics: | Metric | Dimensions | Unit | |:------|:----------|:----| | system.cpu_some_pressure | some10, some60, some300 | percentage | | system.cpu_some_pressure_stall_time | time | ms | | system.cpu_full_pressure | some10, some60, some300 | percentage | | system.cpu_full_pressure_stall_time | time | ms | | system.memory_some_pressure | some10, some60, some300 | percentage | | system.memory_some_pressure_stall_time | time | ms | | system.memory_full_pressure | some10, some60, some300 | percentage | | system.memory_full_pressure_stall_time | time | ms | | system.io_some_pressure | some10, some60, some300 | percentage | | system.io_some_pressure_stall_time | time | ms | | system.io_full_pressure | some10, some60, some300 | percentage | | system.io_full_pressure_stall_time | time | ms | ## Alerts There are no alerts configured by default for this integration. ## Setup ### Prerequisites No action required. ### Configuration #### File There is no configuration file. #### Options There are no configuration options. #### Examples There are no configuration examples.