java.lang.OutOfMemoryError:tomcat7中的Java堆空间

pra*_*bhu 8 java tomcat7

我在tomcat服务器中收到此错误.

Exception in thread "http-bio-8080-exec-17" 
Exception in thread "http-bio-8080-exec-2"
Exception in thread "http-bio-8080-exec-15" 
Exception in thread "http-bio-8080-exec-20"
Exception in thread "http-bio-8080-exec-18" 
java.lang.OutOfMemoryError: Java heap space.
Run Code Online (Sandbox Code Playgroud)

我见过MAT但是如何.hprof在Tomcat服务器中生成文件.

谢谢.

小智 16

删除错误编辑文件

/etc/default/tomcat7   
Run Code Online (Sandbox Code Playgroud)

用...来代替:

JAVA_OPTS="-Djava.awt.headless=true -Xmx1280m -XX:+UseConcMarkSweepGC"
Run Code Online (Sandbox Code Playgroud)

然后重新启动Web服务器.

Xmx 是新的最大内存大小,您的机器应该可以负担得起.


Tah*_*idi 11

添加此行/path/to/tomcat/bin/setenv.sh(如果不存在则创建它):

CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m"
Run Code Online (Sandbox Code Playgroud)

这会将tomcat的堆大小增加到1024MB.


小智 5

根据您的操作系统解决方案

如果Ubuntu:

在用户主文件夹中打开.bashrc文件(它是隐藏的)并在最后2-3行中添加或编辑一行:

export CATALINA_OPTS="-Xms512m -Xmx1024m"
Run Code Online (Sandbox Code Playgroud)

否则Windows:

在您的环境变量中添加/编辑

CATALINA_OPTS = "-Xms512m -Xmx1024m"
Run Code Online (Sandbox Code Playgroud)