prabhu
prabhu

Reputation: 101

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.

Upvotes: 8

Views: 34560

Answers (4)

NicoGuevaraAtuq
NicoGuevaraAtuq

Reputation: 582

  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.

Upvotes: 0

Jobin
Jobin

Reputation: 326

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.

Upvotes: 16

ravi.patel
ravi.patel

Reputation: 119

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"

Upvotes: 5

Farvardin
Farvardin

Reputation: 5424

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.

Upvotes: 12

Related Questions