wuc*_*ang 7 java garbage-collection
我正在编写我的servlet程序并使用jconsole和jmap来监视它的内存状态.我发现当我的程序运行时,Memory Pool"PS Old Gen"变得越来越大,最后我的servlet无法响应任何请求.
这是我的JConsole输出的截图:

当我单击"执行GC"按钮时,什么也没发生.
所以,要查看详细信息,我使用jmap转储详细信息:

这是我的JConsole VM Summary输出:
任何人都可以帮我解决可能出现的问题?你知道,GC"PS MarkSweep"和"PS SCavenge"是我的服务器JVM的默认GC.
谢谢.
我发现一个非常奇怪的现象:从昨天的18:00到今天的09:00的15个小时,似乎GC上的"PS Old Gen"从未发生过,这使得老一代的旧记忆变得越来越大.i只需手动点击"执行GC"按钮,似乎这个GC非常有效并且回收了大量内存.但为什么老一代GC不会自动发生这么长时间?我们可以看到,在昨天的18:00之前,旧一代GC正常工作.

您的内存泄漏发生在 MongoDB 代码中。您看到的大量映射条目很可能是BasicDBObject(在您的转储中排名#6)的内部结构,它扩展了HashMap. 您也许可以通过重新配置 MongoDB 组件来解决该问题。
| 归档时间: |
|
| 查看次数: |
5970 次 |
| 最近记录: |