PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。OutOfMemoryError: PermGen ; 这一区域用于存放Class和Meta的信息。
产生原因:
Class在被加载的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果应用会加载很多class的话,就很可能出现PermGen space错误。
这种错误常见在web服务器对JSP进行pre compile的时候。
解决方法:就是加大将PermGen space区域的内存,也就是把MaxPermSize的大小调大如下:
-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m;
如果是tomcat报这个错:
~~~
在# OS specific support. $var _must_ be set to either true or false.上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128M";
~~~
- 前言
- spring事务(Transaction )报 marked as rollback-only异常的原因及解决方法
- 自己整理的编码规范总结。(个人觉得很受用)
- spring事务常见问题、异常分析和解决方法
- 剖析OutOfMemoryError: PermGen space产生原因及解决方法
- 剖析java.lang.OutOfMemoryError: Java heap space产生原因及解决方法
- java中不同的ORM框架实现对数据库批量插入数据库的方式与技巧
- 解决java读取大文件内存溢出问题、如何在不重复读取与不耗尽内存的情况下处理大文件
- 不得不看的Java代码性能优化总结
- 实现使用3des在页面js加密,后台java解密
- Java日志记录的5条规则