java中程序上线报错: tomcat中java.lang.OutOfMemoryError: PermGen space
程序员文章站
2023-03-31 19:49:01
java中程序上线报错 tomcat中java.lang.OutOfMemoryError: PermGen space,异常处理 PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,... ......
在程序测试没问题之后,上线试运行,在运行的过程中某个功能一点击就报如下错,然后重启服务器就好了,一会又是如此,解决方法如下(亲测)
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)那么就会产生此错误信息了。 解决方法: 手动设置maxpermsize大小修改tomcat_home/bin/catalina.sh在
echo "using catalina_base: $catalina_base"
上面加入以下行:
java_opts="-server -xx:permsize=64m -xx:maxpermsize=128m
个人建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。
上一篇: 家庭比较困难
下一篇: 我朋友之前在俄罗斯做外贸
推荐阅读
-
java中程序上线报错: tomcat中java.lang.OutOfMemoryError: PermGen space
-
IntelliJ IDEA中运行Tomcat报内存溢出(java.lang.OutOfMemoryError: PermGen space)
-
java中程序上线报错: tomcat中java.lang.OutOfMemoryError: PermGen space
-
eclipse中运行tomcat报java.lang.OutOfMemoryError: PermGen space的解决方案
-
eclipse中运行tomcat报java.lang.OutOfMemoryError: PermGen space的解决方案