小编Luk*_*asz的帖子

java.lang.OutOfMemoryError:Web应用程序使用的PermGen空间

我正在努力解决最近出现的outOfMemory PermGen问题.出现错误时保存的其中一个日志片段:

java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1872)
        at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:720)
        at org.apache.felix.framework.ModuleImpl.access$300(ModuleImpl.java:73)
        at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1733)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Run Code Online (Sandbox Code Playgroud)

我增加了最大烫发大小,-XX:MaxPermGen=128m但这只是一个临时解决方案,因为我很确定我们在这里面临一些内存泄漏.我们的应用程序的Web部分部署在jetty(jsf + icefaces)上.单击随机组件会增加使用的内存 - 我正在监视它,jstat -gcold几乎每次命中都会增加3-4kb.我已经添加-XX:+TraceClassLoading到jvm params并且看到很多sun.reflect.GeneratedConstructorAccessor并且sun.reflect.GeneratedMethodAccessor在Web用户界面上有任何操作时被记录.当使用99%的permgen时,我也进行了堆转储.我使用YourKit分析器来分析堆.在类加载器选项卡中,有一些sun.reflect.DelegatingClassLoader行,每个行有1个类.什么可能导致记忆不断增长?任何帮助将非常感激.

提前谢谢,卢卡斯

java jsf icefaces memory-leaks permgen

11
推荐指数
2
解决办法
8531
查看次数

标签 统计

icefaces ×1

java ×1

jsf ×1

memory-leaks ×1

permgen ×1