You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

The JobScheduler runs a Java Virtual Machine for each task that is executed.

Heap Space usage with Java 1.8

  • Java 1.8 changes the memory management in way that the JVM allocates heap space depending on the available physical memory (1/64).
  • This results in the fact that JobScheduler tasks are allocated a lot of more memory than required. Typically such jobs, e.g. the JITL jobs, can be operated with 32 MB to 64 MB. However, for a server equipped with 64 GB physical memory each task will be allocated 1 GB by default.
  • It is therefore recommended to reduce the memory consumption by JobScheduler settings, see chapter Modify heap size settings.

Heap Space usage with Java 1.7 and before

  • By default the JVM would use 64 MB virtual memory.
  • Adjustments for memory consumption of jobs 
    • have to made if jobs require more than 64 MB.
    • can be made if jobs can be operated with 32 MB, e.g. the JITL jobs for SSH connections.

Modify heap space settings

  • The minimum memory allocation by Java can be checked with the command: java -XX:+PrintFlagsFinal -version 
    The output of the command should provide a line that contains the string InitialHeapSize with the minimum heap space settings.
  • Java heap space usage can be modified by JobScheduler settings at job level and at a global level:
    • each job can be assigned an attribute to e.g. specify 64 MB memory consumption like this
      <job java_options="-Xms64m">
    • The file ./config/sos.ini can be used to specify the memory consumption for all jobs like this
      [java]
      options = -Xms64m
  • For more detailed information see How to increase the Java heap space

 

  • No labels