我有一个spring Boot java项目,它有一个开放的遥测jar。该服务被打包为docker镜像,并部署在Kubernetes上。
当服务启动时,此打开的遥测jar尝试在内部示例化okHttpClient并失败。打开的遥测jar中的此示例化似乎没有重试限制,因此它尝试重复加载类。最终,服务关闭,并显示OutOfMemoryError。
这种行为是偶发的。例如,如果有多个服务示例正在运行,偶尔会有1或2个示例因此错误而失败。但当这些示例被杀死并重新启动时,该问题不会再次出现。
此外,该问题无法在开发人员计算机中重现。
有人能给予我指点一下如何调试这个问题吗?
1条答案
按热度按时间vkc1a9a21#
由于您将得到一个
OutOfMemoryError
,我建议使用-XX:+HeapDumpOnOutOfMemoryError
,然后在EclipseMemoryAnalyzer中分析堆转储,特别是查看泄漏可疑报告。