Manta Flow Memory Settings

For every application that runs on Java Virtual Machine (JVM), including Manta Flow, the amount of allocated memory can be configured via JVM’s command line parameters. Let’s start with a table describing the most important parameters that are referred to throughout the following text.

Command line parameter Meaning Units
Xms Initial heap size Bytes (if unit is omitted)
Xmx Maximum heap size Bytes (if unit is omitted)
Xss Thread stack size Bytes (if unit is omitted)

General Memory Allocation Rule of Thumb

IBM Automatic Data Lineage component

Memory percent / logic

Location

Example of 64GB machine values

Flow Server

36% — Runs the Flow viewer and is the memory pool that Neo4J pulls much of its memory allocation from.

Server

23552

Admin UI

5% — Runs the Admin UI backend.

Admin

3072 — “Default Value”

Scenarios — All

By default, all scenarios will limit themselves to a maximum of 3GB, which is allocated from the remaining systems' free memory and not from any of the other pools used in this table.

When ingesting large source systems this value may need to be altered from the default 3GB via SCENARIO_LOAD_MEMORY.

Admin UI → Process Manager → Specific Workflow → Specific Scenario → Environmental Variable; see Configure Runtime and Limitations: Scenario Execution Runtime Limits for more details

Default maximum — 3072 — unless overridden with SCENARIO_LOAD_MEMORY

Neo4J

NA unless merger errors are showing; then, use the calculators below.

Neo4j

4096 — Default value under the configuration tab UI

Process Manager
(configuration of Process Manager; not Service utility)

16GB — Ensures that four workloads of maximum weight, 4GB, can be started at the same time. This doesn't actually allocate any memory, it just controls how many scenarios (see below) can run in parallel.

Admin UI/ConfigTab/Common/CommonConfig/Available memory

16384

Scenarios (CLI or Scans)

To run Scans from Process Manager in Admin UI, Orchestration API, or Orchestration API Scripts, follow the instructions on the page Configure Runtime and Limitations: Scenario Execution Runtime Limits using SCENARIO_LOAD_MEMORY environment variable passed to a specific scenario or on the workflow level.

Server

Adjust the following section in mantaflow\conf\manta.properties

manta.flow.server.memory=-Xms512M -Xmx3072M

Admin GUI

Adjust the following section in \mantaflow\conf\manta.properties

manta.admin.ui.memory=-Xms512M -Xmx3072M

Artemis

As of R42.6

Adjust the following section in \mantaflow\conf\manta.properties:

manta.artemis.memory=-Xms512M -Xmx3072M

Prior to R42.6

The size of the direct memory that the application can potentially use is by default equal to the maximum heap memory. The application can also use the same amount of off-heap memory. Therefore, it is recommended to have at least double the configured heap memory available on the machine.

Manta ActiveMQ Artemis: Memory Configuration

Neo4j

As of R42.1

Neo4J memory is on heap only configured as part of Manta Server memory, see Neo4j Guide: Transaction State Memory for more details.

Prior to R42.1