Old区内存满之后,无法回收,,,RednaxelaFX在吗?急急急啊

change_wh 2016-03-10

jvm参数比较多,如下:

-Djava.util.logging.config.file=/root/online-tomcat/apache-tomcat-6.0.39/conf/logging.properties

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

-Xmx2g

-Xms2g

-Xmn512m

-XX:SurvivorRatio=8

-XX:PermSize=128m

-XX:MaxPermSize=128m

-verbose:gc

-XX:+PrintGCDetails

-XX:+PrintGCTimeStamps

-Xloggc:/root/online/oomdump/gc.log

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/root/online/oomdump

-Djava.endorsed.dirs=/root/online-tomcat/apache-tomcat-6.0.39/endorsed

-Dcatalina.base=/root/online-tomcat/apache-tomcat-6.0.39

-Dcatalina.home=/root/online-tomcat/apache-tomcat-6.0.39

-Djava.io.tmpdir=/root/online-tomcat/apache-tomcat-6.0.39/temp

 

系统环境:

2核4GB

Ubuntu 12.04.1 LTS,

java version "1.7.0_40"

Java(TM) SE Runtime Environment (build 1.7.0_40-b43)

Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

tomcat 6.0.39

mina 2.0.7

 

现象:

程序运行一天时间之后,Old区就会内存100%,且Full Gc之后,内存没有减少,之后,young区也在慢慢增长,之后由于没有内存空间,jvm一直gc,导致cpu100%,系统不可用。

 

通过jmap -dump:file=java_pid.hprof pid拿到内存镜像,使用MAT工具打开,发现mina里面的session对象占用了很多内存空间,也发现session里面却是存贮了很多数据,但是却无法定位到具体是哪里的引用导致无法回收这些数据。

 

急啊,都一个月了!!!!每天晚上重启服务器啊!!!!

 

RednaxelaFX大大在吗。。。。

change_wh 2016-03-21
已解决,通过intellij IDEA远程调试。
xiaoyu1985ban 2016-03-29
能简单说说一下具体原因吗,是代码问题,还是jvm配置问题?
十分感谢!
foolkeeper 2017-05-01
希望有分享出具体排查经过。
Global site tag (gtag.js) - Google Analytics