有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JBossJava进程内存持续增长

我的制作环境:

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"

然后我找到了java。windows任务管理器中的exe内存使用率(专用工作集)持续上升,几个小时后达到6GB,然后几天后达到20GB,然后我的JBoss服务器停止工作

我想知道为什么内存使用量会远远超过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) 个答案

  1. # 1 楼答案

    I wonder why the memory usage can far beyond the jvm xmx setting?

    -Xmx设置刚好给出了Java堆的最大大小。Java使用堆之外的其他内存;e、 g.JVM的代码,以及包含编译代码、线程堆栈和内存映射文件的内存段

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