我在我们的一个应用程序上运行了JProfiler:
这是 JProfiler>遥测>内存快照:
当应用程序处于IDEAL模式时,您可以看到最后四个缓慢增加的内存。我无法弄清楚为什么会这样。任何人都可以帮我找到更多细节。
我们使用SpringMVC,Hibernate,DWR,Quartz(用于调度)和其他常见的(常见日志记录)。
编辑:
应用程序理想模式下的增加内存主要是char []和int []。我从 Jprofiler>得到了这个现场记忆>所有对象。你可以在这里看到:
我无法记录此对象。我试图获得更多细节但不能这样做,当我尝试char []右键单击>在Heap Walker中显示选择:然后它只显示几个KB。你可以在这里看到:
提前感谢您的帮助。
答案 0 :(得分:0)
这是一种难以分析的临时内存消耗。可能有许多短期对象未显示在堆快照中。
跟踪创建对象的一种方法是使用“Memory-> Recorded Objects”视图并调用
查看 - >更改实时模式 - >垃圾收集对象
从菜单(或工具栏)中。释放内存后,您将分析已经垃圾回收的短期对象的累积统计信息。
要查看这些对象的分配位置,您可以右键单击行并从上下文菜单中选择“显示分配树”或“显示分配热点”。