jvm内存溢出解决办法

Posted sihai_1991

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm内存溢出解决办法相关的知识,希望对你有一定的参考价值。

java.lang.OutOfMemoryError: PermGen space

 分析原因:java.lang.OutOfMemoryError: PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中, 它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对 PermGen space进行清理,所以如果你的应用中有很多class的话,就很可能出现PermGen space错误。

我的解决办法是:增加内存。

步骤:Window ———》  Preferences————》MyEclipse ————》Servers ————》Tomcat————》Tomcat 6.x(我的是6.x) ——》JDK ———》Optional Java VM arguments下的文本框中加入“ -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m” ——》Apply,修改后,重启tomcat,重新部署,内存不再溢出了。 


注意:如果是在Optional Java VM arguments下的文本框中直接加入 “-Xms128m -Xmx512m ”,是不能解决内存溢出的!(至少我的情况是这样)。

以上是关于jvm内存溢出解决办法的主要内容,如果未能解决你的问题,请参考以下文章

JVM 发生内存溢出的 8 种原因及解决办法

myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小java.lang.OutOfMemoryError: PermGen space及其解决方法

性能分析 | JVM发生内存溢出的8种原因及解决办法

Java中OutOfMemoryError(内存溢出)的三种情况及解决办法

几种常见的内存溢出与解决办法

eclipse启动Tomcat加载项目时报内存溢出错误解决办法