我很难理解为什么我的Java应用程序会慢慢消耗掉Pod中所有可用的内存,导致Kubernetes将Pod标记为内存不足。JVM(OpenJDK 8)使用以下参数启动:
-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=2
我正在监控Pod使用的内存以及JVM内存,并期望看到一些关联性,例如在进行大量垃圾回收后,Pod使用的内存也会下降。然而我没有看到这个情况。下面是一些图表:
Pod内存: 总JVM内存: 详细的JVM分解(很抱歉所有颜色看起来都一样...感谢Kibana): 我困惑的是,为什么在16:00之前堆内存有显著减少时,Pod的内存没有下降?