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. |
23552 |
|
Admin UI |
5% — Runs the Admin UI backend. |
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. |
4096 — Default value under the configuration tab UI |
|
Process Manager |
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
-
Linux — edit the file
<MANTA_HOME>/artemis/manta_broker/etc/artemis.profile
-
Find the line starting with
JAVA_ARGS="-XX:+PrintClassHistogram
and change the following parameter.-Xmx<size>
-
To specify direct memory, add the parameter at the end of the existing line.
-XX:MaxDirectMemorySize=<size>
-
-
Windows — edit the file
<MANTA_HOME>/artemis/manta_broker/etc/artemis.profile.cmd
-
Find the line starting with
IF "%JAVA_ARGS%"=="" (set JAVA_ARGS=..
and change the following parameter.-Xmx<size>
-
To specify direct memory, add the parameter at the end of the existing line.
-XX:MaxDirectMemorySize=<size>
-
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
-
Off-heap memory
- Increase the size in Manta Admin GUI > Configuration > Server
> Common > Neo4j Configuration >
dbms.memory.off_heap.max_size to
4G
or more.
- Increase the size in Manta Admin GUI > Configuration > Server
> Common > Neo4j Configuration >
dbms.memory.off_heap.max_size to