java.lang.OutOfMemoryError: PermGen space

第一次部署流程的开发环境,就遇到了PermGen space错误,java.lang.OutOfMemoryError: PermGen space 好久没有遇到这个错误了...还是蛮亲切的.
分析一下这个错的由来.
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域.内存中的这个区域是用来存放class和meta信息的,Class在被jvm load的时候,class信息会被放入该区域.它不同于存放实例的Heap区域,GC不会在主程序运行期间对PermGen space进行清理.
如果我们的工程中有很多类文件或者加载了很多jar包(jar包中的Class信息会被加载到PermGen space)的话,就很可能出现java.lang.OutOfMemoryError: PermGen space这个问题.
通过上面的分析就不难得出解决方法,加大PermGen space即可.在tomcat的catalina.bat的JAVA_OPTS 变量前设置JAVA_OPTS=" -XX:PermSize=97m -XX:MaxPermSize=256m″

原文地址:https://www.cnblogs.com/shihujiang/p/2539967.html