Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

Use of Java Options depends on the Java release in use.

  • Typically earlier Java releases include features that are not active by default.
  • Such features can be active by default in later releases.

Heap Size

Heap size depends on memory consumption of each JS7 component that is related to

...

  • The Agent can be operated from initially 100 MB heap size with -Xms100m.
  • By default no maximum heap size is assigned, i.e. the Agent will be assigned the heap size calculated by Java when starting the Java Virtual Machine.
  • Heap size can grow up to the specified maximum -Xmx1g based on performance indicators such as
    • the number of workflows deployed to the Agent,
    • the number of parallel tasks executed with the Agent,
    • the max. failure time for which the Agent is not connected to a Controller.
  • The above values should work for approx. 10 000 workflows with a max. failure time of 24 hours.

Threads

JS7 components make use of multithreading that is dynamically assigned based on available CPU cores.

...

  • If a StackOverflowError exception is raised then the stack in use is larger than the thread stack size and suggests to increase the thread stack size..
  • if an OutOfMemoryError exception is raised then the stack is larger then the available memory and suggests to decrease the thread stack size.

Garbage Collector

The Java Garbage Collector has to be operated in a performant and efficient way as otherwise memory remains blocked by unused objects.

...

  • It is recommended to activate the G1 Garbage Collector
  • This applies to Java releases 1.8 to 11. For Java 17 the default Garbage Collector is G1.
  • This option is applicable for JOC Cockpit, Controller and Agents.

String Deduplication

Strings held in memory can be managed more efficiently by the JVM if a sting is available just once and is referenced from a number of occurrences.

...