简体   繁体   中英

java.lang.OutOfMemoryError: Java heap space in tomcat7

I am getting this error in tomcat server.

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.

I have seen MAT but how do I generate the .hprof file in my Tomcat server.

Thank you.

to remove the error edit the file

/etc/default/tomcat7   

replace with:

JAVA_OPTS="-Djava.awt.headless=true -Xmx1280m -XX:+UseConcMarkSweepGC"

Then restart the web server.

Xmx is the new maximum size of memory and it should be affordable by your machine.

add this line to /path/to/tomcat/bin/setenv.sh (if doesn't exist create it) :

CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m"

this increases tomcat's heap size to 1024MB.

Solution as per your OS:

if Ubuntu :

open .bashrc file available in user home folder (it is hidden) and Add or Edit one line among last 2-3 lines:

export CATALINA_OPTS="-Xms512m -Xmx1024m"

else Windows :

In your environment variables add/edit

CATALINA_OPTS = "-Xms512m -Xmx1024m"
  1. Go to /bin and create a file named setenv.sh for Linux systems or setenv.bat for Windows.

  2. Inside the setenv file, use the following format to set the heap size using the following parameters:

-Linux:

export CATALINA_OPTS="-Xms4096M -Xmx4096M"
 

-Windows:

set CATALINA_OPTS=-Xms4096M -Xmx4096M
  1. Make sure both the values match for minimum and maximum.
  2. Save the file and restart Tomcat.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM