Server memory allocation recommendations

This page explains how a node uses the server memory that you allocate to it and provides recommendations around memory allocation. 

At runtime, an instance of Axway Decision Insight corresponds to a single process being a single instance of the JVM.

Decision Insight memory usage

Decision Insight memory usage on the corresponding server breaks down as follows:

  • Operating System
  • Memory-mapped files – used by Decision Insight to have an efficient off-heap cache of database files, managed by the operating system
  • JVM Heap + Overhead

On servers with more than 32 GB of RAM, the recommendation is to have:

  • 2 GB of memory for the Operating System
  • 8 GB of memory for the Memory-mapped Files
  • 2 GB for the Decision Insight JVM itself
  • The remainder for the Decision Insight JVM Heap (i.e. corresponding to the value of the -Xmx flag)

Memory usage inside the JVM heap

The memory usage inside the JVM heap by Decision Insight breaks down as follows:

  • In-memory store for live and recent data
  • Page cache for currently / recently queried on-disk data
  • Queries contexts
  • Queries cache (execution plans, and query results)
  • Various other states: data integration processing context, user sessions. 

Since release 2.0.0 20161219, the default configuration is:

  • About 2 GB set aside for in-memory store and page cache (that can be tuned using the  com.systar.titanium.memtable.globalMaxSize parameter depending on the application profile, and will probably evolve to 4 GB in future releases).
  • About 1 GB set aside for queries caching and various other states of the node. 
  • The remainder and the large majority of the heap is required for queries execution context, especially for large ordered search queries. 

Finally, as a reminder, it is useless to allocate a number between 32G and 48G for the JVM heap (-Xmx) ( more details ).

Examples:

  • With 32 GB RAM on a server, the recommendation is therefore to set the -Xmx to 20 GB.
  • With 48 GB RAM on a server, the recommendation is therefore to set the -Xmx to 31 GB.
  • With 64 GB RAM on a server, the recommendation is therefore to set the -Xmx to 52 GB.

Related Links