PSI是Linux内核4.20+提供的资源压力监控机制,通过/proc/pressure/{cpu,memory,io}文件量化CPU、内存、IO因资源争用导致的任务阻塞时间占比,其中some表示至少一个任务阻塞,full表示所有非空闲任务同时阻塞,均含avg10/avg60/avg300和total指标。

直接看 /proc/pressure/ 下的 PSI 值
Linux 5.4+ 内核原生支持 PSI(Pressure Stall Information),它比 uptime 的 load average 更精准地反映 CPU、内存、IO 的真实竞争压力。PSI 不是“有多少进程在排队”,而是“有多少时间因等资源而卡住”。
直接读取文件即可,无需安装额外工具:
-
cat /proc/pressure/cpu—— 只有some指标(CPU 竞争本质就是 runnable 任务等调度) -
cat /proc/pressure/memory—— 同时含some和full,例如some 0.50 1.20 3.80表示过去 10s/60s/300s 内,至少一个任务因内存卡住的时间占比分别为 0.5%、1.2%、3.8% -
cat /proc/pressure/io—— 同样含some和full,full> 0.1% 就值得警惕(所有非空闲任务同时卡在 IO 上)
注意:some 持续 > 5% 说明延迟已明显升高;full > 0.5% 往往伴随服务超时或 OOM 前兆。老内核(
用 pidstat -r -d -u 实时定位“谁在制造压力”
pidstat(来自 sysstat 包)能按进程维度拆解 CPU、内存、IO 压力来源,比 top 更贴近 PSI 的语义——它显示的是实际 stall 时间,不是简单占用率:
-
pidstat -u 1:每秒输出各进程的 %usr/%sys,但关键看%wait列(仅新版本支持),值高说明进程频繁因调度延迟卡住 -
pidstat -r 1:关注kbmemused和minflt/s(次要缺页)。若某进程minflt/s突增且kbmemused不涨,大概率是内存紧张触发频繁 page reclaim -
pidstat -d 1:看rkB/s/wkB/s和avgrq-sz。若avgrq-sz异常小(如 rkB/s 高,可能是大量随机小 IO 导致 IO stall
陷阱:默认 pidstat 不显示等待指标,必须用 -w(等待时间)或升级到 sysstat ≥ 12.5.0 才有 %wait。CentOS 7 自带的 sysstat 太旧,得手动编译或换源。
别只信 iostat %util,盯紧 await 和 avgqu-sz
iostat -x 1 的 %util 是设备忙时占比,对 NVMe 或多队列设备已失真。真正反映 IO 竞争压力的是:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
-
await:单次 I/O 平均耗时(ms)。SSD 持续 > 10ms、HDD 持续 > 30ms,说明底层排队严重 -
r_await/w_await:读/写单独延迟,可区分瓶颈类型(如写延迟高 +%util低,可能是日志刷盘策略问题) -
avgqu-sz:平均队列长度。> 1 表示请求开始排队;> 4 基本确认 IO 子系统饱和 -
svctm已废弃,内核 2.6.34+ 后不再更新,别看
补充技巧:iostat -x 1 要配合 iotop -a(加 -a 才统计全部线程累计 IO),否则可能漏掉后台刷脏页的 kswapd 或 pdflush 进程。
free -h 的 available 字段才是内存压力的“血压计”
free -h 输出里,available 是内核估算的“此刻可立即分配给新进程的内存”,比 free 列靠谱得多。它的计算包含可回收的 page cache、slab 等,且会动态考虑内存碎片。
- 如果
available长期低于总内存的 15%,内存压力已实质存在 - 若
available接近 0 且swpd(swap 使用量)在vmstat 1中非零增长,说明内核已在换出匿名页,OOM 风险陡增 - 老内核(available 字段,得用
free -m手动算:Mem: free + buffers + cached(但精度差很多)
注意:cached 不等于“被占用”,它随时可回收;真正危险的是 available 持续走低 + si/so(swap in/out)在 vmstat 1 中跳动。

















