JBoss没有释放内存

时间:2013-09-26 11:18:03

标签: java memory-management jboss visualvm

我在JBoss中运行Java应用程序,它定期执行内存密集型任务。 org.jboss.Main使用的内存量在此期间上升,但在任务完成后不会下降。 我一直在使用VisualVM来分析这个过程并强制进行垃圾收集。 org.jboss.Main使用的内存大约为1GB。堆转储的基本信息如下。

Total bytes: 53,795,695
Total classes: 5,696
Total instances: 732,292
Classloaders: 324
GC roots: 2,540
Number of objects pending for finalization: 0

我还查看了使用内存的类,发现char []占据了大部分内存。

有人能告诉我为什么VisualVM显示JBoss使用的内存比我的活动监视器少20倍?如果有人能够提供任何建议或指示,以便在工作完成后如何让JBoss释放内存,那将非常感激。

1 个答案:

答案 0 :(得分:1)

VisualVM在Full GC之后显示堆的大小。这是在堆必须增长之前可以使用的数据量。

堆转储显示当前使用了多少堆。