可能的内存泄漏 Spring Boot 应用程序文件观察程序线程

Posible Memory Leak Spring Boot App File Watcher thread

提问人:Alejandro Seco Pineda 提问时间:11/9/2023 最后编辑:Alejandro Seco Pineda 更新时间:11/9/2023 访问量:22

问:

您好,我的 Java 应用程序中有一个 OOM 问题。它部署在 Kubernetes 容器中,是一个使用 Spring Boot 微服务架构并处理文件的 API。最初,我没有看到任何导致我怀疑内存泄漏是由于此原因导致的严重代码故障。因此,我决定使用 VisualVM 来监视应用程序的内存,并确定哪些线程消耗的资源最多。我已经进行了几次测试,并在执行其他任务时让应用程序运行了几个小时(通常,OOM 每天都会发生,导致 Kubernetes 重新启动应用程序)。所有这些都让我怀疑文件观察器线程是导致内存泄漏的原因。最初,它在内存中分配的字节很少,但随着时间的推移,它会不断增加。此外,当我使用 Eclipse Memory Analyzer 时,此线程被确定为泄漏嫌疑人之一。我附上了 VisualVM 和内存分析器的屏幕截图,以及我正在使用的 Java VM 参数。谢谢。

可视化虚拟机监控

我读到的波浪模式是正常的 -> 这里

文件观察程序线程

字节只会上升

内存泄漏嫌疑人

子指标标头

线程详细信息

参数 VM

我用于 JVM 的参数

Java spring-Boot 多线程线程 OOM

评论

0赞 Francesco Rogo 12/4/2023
我遇到了同样的问题,有什么想法吗?

答: 暂无答案