You should increase the Java heap space if JobScheduler reports out of memory Java exceptions (java heap space). The message in the log file looks like this:

 Com_set_error("Z-JAVA-105 Java exception java.lang.OutOfMemoryError("Java heap space"),
 method=spooler_process()Z []","Remote_module_instance_server::step)

There are two ways how to increase the available Java heap space. You can achieve this for individual jobs or you can apply the increment for all jobs.

Please note:

  • If you increase the initial heap space (-Xms) for all jobs you could run into memory troubles if you are running to much Java tasks at one time.
  • In most cases it is sufficient to apply just a maximum Java heap space with -Xmx.

You should descrease the Java heap space if the JVM crashes with this dump

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 32744 bytes for ChunkPool::allocate
# Possible reasons:
#   The system is out of physical RAM or swap space
#   In 32 bit mode, the process size limit was hit
# Possible solutions:
#   Reduce memory load on the system
#   Increase physical memory or swap space
#   Check if swap backing store is full
#   Use 64 bit Java on a 64 bit OS
#   Decrease Java heap size (-Xmx/-Xms)
#   Decrease number of Java threads
#   Decrease Java thread stack sizes (-Xss)
#   Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
#  Out of Memory Error (allocation.cpp:273), pid=5092, tid=6740
#
# JRE version: Java(TM) SE Runtime Environment (8.0_45-b14) (build 1.8.0_45-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode windows-amd64 compressed oops)
# Core dump written. Default location: C:\ProgramData\sos-berlin.com\jobscheduler\extsrvsdl01vprd_4444\hs_err_pid5092.mdmp
#


Increment/Decrement for only one job using Java

If you want to increase the heap space for only one job you can do this by the job configuration, see http://www.sos-berlin.com/doc/en/scheduler.doc/xml/job.xml#attribute_java_options

 <job java_options = "-Xmx512m"/>

Increment/Decrement for all jobs using Java

You can increase the maximum Java heap space (set by the JobScheduler when starting the JVM) within the configuration file sos.ini, for example:

 [java] 
 options = -Xmx512m 

You can add more Java options. For example you can set the initial and maximum Java heap space with:

 [java] 
 options = -Xms128 -Xmx512m 

See also

  • Please consider the different strategies of Java heap space usage covered in the article How to manage the Java heap space
  • For possible JVM options please see the Java documention