全部博文(56)
分类: Java
2011-09-13 12:31:31
共分析比较了三个Dump文件,取得Dump文件时JVM内存消耗分别为200MB,600MB,1GB.结果显示JVM内存主要被Hibernate消耗,达到50%,其次为Entegor。以下两点值得关注:
1. 单个Session实例消耗内存达到100~230MB;
2. 存在几十万个com.ideal.ieai.server.repository.activity.RepActivityRuntime实例;
2 问题分析 JVM内存消耗200MB
移除可被垃圾回收及若引用对象后,内存占用为173.2MB。
内存消耗统计2.1.2 Session
共4个SessionImpl实例,其中有一个实例占用内存103.5MB。
占用内存103.5MB的SessionImpl实例的引用关系:
2.1.3 RepActivityRuntime
共有193,023个实例。
2.2 JVM内存消耗600MB
。
2.2.1内存消耗统计2.2.2 Session
共43个SessionImpl实例,其中有一个实例占用内存235MB.
占用内存235MB的SessionImpl实例的引用关系:
2.2.3 RepActivityRuntime
共有340,971个实例。
2.3 JVM内存消耗1GB
移除可被垃圾回收及若引用对象后,内存占用为845.8MB。
2.3.1内存消耗统计2.3.2 Session
共78个SessionImpl实例,其中有3个实例分别消耗内存236.2MB,151MB,121MB.
占用内存236.2MB的SessionImpl实例的引用关系:
占用内存151MB的SessionImpl实例的引用关系:
占用内存121MB的SessionImpl实例的引用关系:
2.3.3 RepActivityRuntime
共有837,788个实例。