Tomcat Crash or Hang - OutOfMemoryError: GC Overhead limit exceeded.

Tomcat Crash or Hang - OutOfMemoryError: GC Overhead limit exceeded.

book

Article ID: KB0076028

calendar_today

Updated On:

Products Versions
Spotfire Server ALL Versions

Description

TIBCO Spotfire Server crashes or hangs when large analysis files are accessed.

Symptoms
Tomcat Service stops or hangs, dump file is created.

Cause
This exception is thrown by the garbage collector in Java and is not specific to Spotfire. This error means that you need to add or allocate more memory.
 
From server.log file:
========
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded.
========

From catalina.log file:
========
SEVERE: Exception invoking periodic operation: java.lang.OutOfMemoryError: Java heap space.
========

Issue/Introduction

Tomcat Crash or Hang - OutOfMemoryError: GC Overhead limit exceeded.

Resolution

Modify the Virtual Memory. Set up the start script when not running as a Windows service.

==========================================================
1). Open the file <installation dir>/tomcat/bin/setenv.bat/.sh in a text editor.

2). Locate the line that sets the variable JAVA_OPTS:

set JAVA_OPTS=-server -XX:+DisableExplicitGC -XX:MaxPermSize=256M -Xms512M -Xmx1536M

3). Alter the -xms and the -Xmx values -Xms512M -Xmx1536M to the amount of memory you wish to allocate.

4). Save the file.

5). Restart the server.

To set up the start script when running as a Windows service.

=================================================
1). Stop the TIBCO Spotfire Server service.

2). Go to the <installation dir>/tomcat/bin directory.

3. Run the command: service.bat remove.

4). Edit the <installation dir>/tomcat/bin/service.bat file.

5). Look for the entries: --JvmMs 512 --JvmMx 1536 .

6). Alter 512 and/or 1536 to suitable memory values (in megabytes).

7). Launch the command prompt and run the following command: "service.bat install" by navigating to <Spotfire Server install folder>\tss\<version>\tomcat\bin.

8).  Start the TIBCO Spotfire Server service.

NOTE: For 32-bit Windows operating systems, we recommend never going above 1300M for the heap size. If you set the value too high, the server will fail to start. This is a Java/OS limitation and has nothing to do with Spotfire. If you are running the Tomcat Service as Service account, ensure that you update the service account after step 7 above.

Refer to article https://support.tibco.com/s/article/How-to-find-the-Spotfire-Server-java-memory-settings-from-its-Windows-service on how to Check the current JVM values

Additional Information

Spotfire Server Installation and Configuration Manual.