一个服务在 K8s 里跑得好好的,突然被重启,看 Pod 事件只有一行 OOMKilled。我第一反应是"堆不够了",加了 -Xmx 之后反而重启更频繁。后来才明白,我搞混了两种 OOM。 两个 OOM 不是一回事 JVM 的堆 OOM(java.lang.OutOfMemoryError: Jav
现象:容器 4 核,GC 却开了 24 个线程 八月初一个 Pod 频繁被 K8s 驱逐,OOMKilled 日志看着是内存超了,但监控显示内存没到 limit。我进容器一查 CPU 使用率 400%——而这 Pod 只申请了 4 核。根因是 GC 线程数按宿主机 24 核算的,Parallel G