Linux Tomcat OutOfMemoryError

描述

OutOfMemoryError 内存溢出,本地开发、测试环境中经常遇到的错误。引起这个错误的原因多种多样,比如:启动时加载的程序过大、无限循环导致的内存无限增长、产生回收垃圾过多等等。

一般解决办法

在此只说测试环境中一般解决办法,用于记录,设置tomcat Catalina.sh 的JAVA_OPTS变量。如果是在linux环境下,直接打开bin目录下的catalina.sh文件。文件的开头有这场一句话:

Linux Tomcat OutOfMemoryError_第1张图片
图一

简单翻译下:

不要在本脚本(bin/catalina.sh)中添加、设置变量,如果你需要新增内容或覆盖原有设置,请在bin目录下新建名称为setenv的脚本

所以如果你在测试、生产环境急需解决OutOfMemoryError这一异常的话,请在bin目录下增加setenv.sh脚本。linux命令是:

cd [tomcat路径]/bin && vi setenv.sh

然后在脚本内增加如下内容:

JAVA_OPTS="-server -XX:PermSize=2048M -XX:MaxPermSize=2048m"

设置内容视服务器内存和程序而定。

如果哪些朋友感觉不清楚问题产生的根本原因,可以查看附录中转载过来的链接。

附录

【转】深入理解java.lang.StackOverflowError和java.lang.OutOfMemoryError错误:https://blog.csdn.net/zc375039901/article/details/79179465

【转】tomcat catalina.sh JAVA_OPTS参数说明与配置:https://blog.csdn.net/cuker919/article/details/8233821

你可能感兴趣的:(Linux Tomcat OutOfMemoryError)