测试环境 14 个 Java 微服务频繁异常,每次都要手动重启整台机器才能恢复。排查发现是 JVM MaxRAMPercentage=100% + 容器内存限制严重超卖导致的 OOM Kill 循环。
前言
运维同事反馈:测试环境的一台 K8s 节点"老是异常,手动重启才好"。每隔一两天就要重启一次,重启后能正常运行几个小时到一天,然后又开始出问题。
这种"重启治百病"的现象背后,通常是资源配置问题。本文记录从指标分析到根因定位的完整过程。
本文适合:
- 管理 K8s/Docker 环境的运维工程师
- 部署 Java 微服务的后端开发
- 遇到容器频繁 OOM Kill 的排查场景
一、现象确认
机器配置
| 项目 | 详情 |
|---|---|
| 规格 | 4 核 32 GB |
| 系统 | Alibaba Cloud Linux 3 |
| 用途 | K8s 单节点,运行测试环境微服务 |
| Swap | 未配 |