【发布时间】:2015-11-15 14:14:04
【问题描述】:
我正在开发一个带有独立 jetty 9 Web 服务器的 Java Web 应用程序,但我遇到了一些内存泄漏问题:每个连接的客户端都会增加主 Java 进程的内存使用量,但 GC接缝永远不会随着时间的推移而恢复。
内存问题并没有在一开始就出现,我也没有对架构的基础进行复杂的更改,所以我认为可能是某个地方的“糟糕的剩余代码”。 该应用程序使用 webocket servlet 来传递推送消息(加上一个单独的线程来使用套接字连接到其他服务)和其他 servlet 来处理客户端请求(读/写数据库、登录等)所以也许我没有正确使用服务.
我在内存分析方面没有太多经验,但是我见过 jetty 的 jmx + jconsole(docs here 和 simple tutorial here),我真的不知道如何跟踪单个组件的内存使用情况(对象、字段、线程等)。在这种情况下我应该使用其他工具进行分析和内存泄漏调试吗?
【问题讨论】:
标签: java memory memory-leaks jetty