解决 Tomcat java.lang.OutOfMemoryError: PermGen space

本文介绍了当启动Web项目时遇到Tomcat PermGen错误的原因及解决办法。通过调整JVM参数,特别是永久代的大小,可以有效避免此问题。文章还遵循Tomcat官方建议,在setenv.sh文件中设置JAVA_OPTS变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近来在启动一个web项目时,Tomcat报了以下的异常

java.lang.OutOfMemoryError: PermGen space 

一眼看来,应该是Tomcat使用的JDK的永久代内存不够,所以,那么给JDK加内存呗。

给tomcat指定内存可以参照以下两种方式:

  • 修改 TOMCAT_HOME/bin/catalina.sh

    JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"
  • 上面的方法虽然也可以,不过却不建议采用这种方式,因为在 catalina.sh 有说明

Do not set the variables in this script. Instead put them into a script
setenv.sh in CATALINA_BASE/bin to keep your customizations separate.

  • 所以,按照Tomcat官方建议,我们在 TOMCAT_HOME/bin 目录下新建setenv.sh文件,内容为
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值