Memory management, auto recover and network settings
-
You must use 64-bit Java! (For 32-bit the heap size limit is 2 GB, which is insufficient.)
-
Previously listed settings now set by the configuration script, are not listed anymore or marked as such.
Setting description |
Option entry |
---|---|
|
|
Heap size recommendations:
Values from the said range are inefficient because a value ≥ 32 GB switches from 32‑bit addressing to 64‑bit. This causes an overhead and disables an internal tuning mechanism (Compressed Oops). |
|
Initial heap size (must be <= maximum heap size) |
-Xms4096m |
Maximum heap size |
-Xmx4096m |
Use the Garbage-First (G1) Collector |
-XX:+UseG1GC |
G1 is usually recommended. Do not use G1 but the concurrent garbage collector if you plan to allocate larger blocks of heap memory for file buffering, e.g. to increase performance. See Garbage collector and related settings “ima.archive.tempFile.inMemoryThreshold...”. |
|
Using the concurrent garbage collector as an alternative |
|
To use the concurrent garbage collector: |
-XX:+UseConcMarkSweepGC |
For example, to set a buffer size of 2 MB: |
-Dima.archive.bufferSize=2097152 |
Maximum metaspace size |
‑XX:MaxMetaspaceSize=512m |
Also see: Response time and memory consumption related to metaspace size |
|
Reference object processing performance |
-XX:+ParallelRefProcEnabled |
Use this setting to increase the general performance. This only works with the G1 garbage collector. |
|
Auto recover settings |
|
Enable auto recover |
ima.autorecover=true |
Enable the auto recover resynchronization processing on one application server at most. Possible values are “true” or “false”. The default value is “true”. In case of a clustered ImageMaster installation (multiple ImageMaster domains sharing a single database), only one node must have auto recover enabled. All other nodes must have this value set to 'false' to avoid concurrent attempts to recover a damaged file. |
|
Timeout for recover process |
ima.autorecover.threadTimeout=720 |
Set the number of minutes the coordinating auto recover resynchronization processing waits for a worker thread at most to return from processing a packet part. The default value is 720 (12 hours). If the value is -1, the coordinating auto recover processing waits indefinitely for each worker thread. |
|
Obligatory settings required for ImageMaster compatibility |
|
Disable Lazy Fetch |
org.jboss.weld.context.attributes.lazyFetch=false |
If you install ImageMaster with the configuration script according to this manual, this setting is done automatically. The lazy fetch mechanism must be disabled in WildFly/JBoss as it causes conflicts in long running processes such as the ones triggered by an ImageMaster client export. |
|
Network settings |
|
IPv4 (Internet Protocol version 4) |
-Djava.net.preferIPv4Stack=true |
If you host ImageMaster in an IPv4 environment, set this property to “true” to enforce IPv4 (e.g. to avoid network connection issues). Do not set this parameter in an IPv6 environment! |
|