项目部署中,tomcat报java.lang.OutOfMemoryError: PermGen space
2024-09-05 09:39:14
原因:
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法:
1. 手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m
catalina.sh下为:
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"
最新文章
- Jenkins安装
- C#高级编程笔记 2016年10月8日运算符和类型强制转换
- 如何解决 win10连了VPN怎么上外网
- iOS SDWebImage使用详解
- 多线程编程之Windows同步方式
- 1 。 LightOJ 1234 打表法(数据太大,把数据缩小100倍)
- raise_application_error用法
- jquery 操作 checkbox
- cms配置使用
- 如何在网页启动Windows服务
- JavaScript中的数组对象遍历、读写、排序等操作
- Sublime Text3 快捷键汇总及设置快捷键配置环境变量
- Prime 算法的简述
- linux下的启停脚本
- Jmeter软件介绍
- hihocoder1148 February 29(区间闰年计数)
- 谈一谈Crsf和XSS攻击
- Django之form表单认证
- centos7使用kubeadm配置高可用k8s集群
- Javascript - Vue - vue对象的生命周期