You copied the Doc URL to your clipboard.

"JVM terminated" error when launching Eclipse for DS-5 / 'Out Of Memory' Error reported when using DS-5

Article ID: 137404577

Published date: 21 Sep 2017

Last updated: -

Applies to: DS-5 Development Studio

Problem/Question

Launching Eclipse for DS-5 or Streamline results in "JVM terminated" error or 'Out Of'Memory' error.

Scenario

Eclipse for DS-5, Streamline or DS-5 Debugger and Eclipse IDE fail to start, reporting the error "JVM terminated". In some instances, the error message reported states "Java was started but exited with return code=1".

Eclipse for DS-5, Streamline or DS-5 Debugger and Eclipse IDE report OutOfMemory error, sometimes with message "GC overhead limit exceeded".

Answer

These problems are often caused by a lack of memory to run the application. DS-5 Debugger, Streamline and Eclipse IDE are implemented using JavaTM technology, and the virtual machine must reserve a large contiguous area of virtual address space for the heap.

Workaround

The virtual machine requires the heap size to be capped with a fixed maximum value. On starting up, the virtual machine reserves the total maximum amount of memory with the operating system. This includes the maximum heap, even though much less memory is allocated initially.

Two different issues can arise from inadequate heap sizing:

  • The maximum heap size is too big, and the virtual machine is unable to reserve the maximum amount of memory. In this situation, a crash occurs when the application starts or very soon afterwards.

  • The maximum heap size is too small, and the virtual machine runs out of memory when processing large data sets. In this situation, performance gradually degrades because the memory garbage collector runs more often to attempt to recover memory. Finally, fatal out of memory errors are reported.

Note that DS-5 requires a minimum specification of computer with a dual core 2GHz processor (or equivalent) and 4GB of RAM.

RESOLUTION

Over DS-5 releases, different strategies have been implemented to allow the virtual machine to start on most machines and maximize the heap size to enable processing of large data sets, such as debug symbols. The maximum heap size is a run-time parameter of the Java Virtual Machine and is specified in different places depending on the tool and the operating system in use. Please refer to the following table to identify which file to change and how.

Note that the files may be installed as read-only files or require elevated privileges in order to edit them.

Finding the right value for your host machine may take several iterations, and the result will differ from one machine to another. In the table below, <MAX_HEAP_SIZE> corresponds to this maximum heap size value in MB (megabyte). For 32-bit operating systems, the theoretical maximum is approximately 1300 MB on Windows and 3600 MB on Linux.

Operating System

Tool

File

Modification

Windows

Eclipse for DS-5

<installation
directory>\sw\eclipse\eclipse.ini

Add -Xmx<MAX_HEAP_SIZE>m on its own line, underneath -vmargs

Windows

Command-line DS-5 Debugger

 <installation
directory>\sw\debugger\debugger.ini

Append -Xmx<MAX_HEAP_SIZE>m to the line starting with JVM_OPTS=-server, separated with a space

Windows

Streamline

<installation
directory>\sw\streamline\Streamline-gui.ini and Streamline.ini

Change the value specified on the line with the -Xmx parameter

Linux

Eclipse for DS-5

 <installation
directory>/sw/eclipse/eclipse.ini

Add -Xmx<MAX_HEAP_SIZE>m on its own line, underneath -vmargs

Linux

Command-line DS-5 Debugger

<installation
directory>/sw/debugger\debugger.sh

Add -Xmx<MAX_HEAP_SIZE>m to the line starting with jvm_opts=“-server", separated with a space but within the existing quotes

Linux

Streamline

<installation
directory>\sw\streamline\.Streamline.ini

Change the value specified on the line with the -Xmx parameter

Example

N/A

Related Information

N/A

Was this page helpful? Yes No