参考:http://blog.csdn.net/zouqingfang/article/details/48346321
随着服务器上的tomcat部署的项目越来越多,有时候出现内存溢出的错误
Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
以上提示说永久存续区的内存溢出。永久存续区的内存主要存储和加载Class和Meta信息,垃圾回收器不会回收这一区域的内存,只会回收堆内存。
通过tomcat设定shared lib目录方式
通过tomcat设定shared lib实现所有项目共享相同的jar类包,通过这种方式有两个好处
1、避免各个项目重复加载相同的jar类包,占用了大量的永续区的内存
2、提高了tomcat的启动速度。因为减少了各个项目中的重复jar类包reload,tomcat的reload速度得到提升。
修改catalina.properties配置文件
tomcat/conf/catalina.properties找到shared.loader=位置
shared.loader=${catalina.base}/shared/lib/*.jar,xxx原有的东西xx
即可
创建/shared/lib文件夹
在tomcat下创建/shared/lib文件夹。
将需要共享的jar包放至tomcat/shared/lib下即可。
注:
删除项目中lib下已共享的jar包