Java进程内存保持上升

时间:2013-08-20 07:17:20

标签: java jboss jvm

我的制作环境:

OS: windows server 2008 R2 64bit
JDK: 1.6u41 64bit
JBoss: 5.1.0
RAM: 24GB

JBoss中的JVM参数如下:

set "JAVA_OPTS=-Xms3072M -Xmx3072M -XX:MaxPermSize=256M -XX:NewSize=1024M -XX:MaxNewSize=1024M -XX:SurvivorRatio=32"

然后我发现Windows任务管理器中的java.exe内存使用情况(私有工作集)保持上升,几小时后达到6GB,几天后达到20GB,然后我的JBoss服务器停止工作。 / p>

我想知道为什么内存使用量远远超出jvm xmx设置?

有人可以帮助我吗?


FULL GC infomation as below:
C:\Users\Administrator>jstat -gcoldcapacity 2456
OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT
2097152.0   2097152.0   2097152.0   2097152.0 20565  1959 3746.986 11586.727

1 个答案:

答案 0 :(得分:0)

  

我想知道为什么内存使用量远远超出jvm xmx设置?

-Xmx设置只是给出了Java堆的最大大小。 Java使用除堆之外的其他内存;例如JVM的代码,以及包含已编译代码,线程堆栈和内存映射文件的内存段。

您的应用程序似乎存在严重的内存泄漏,并且它正在泄漏非堆内存。