Did this article resolve your question/issue?


Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025



How to increase or modify java heap size for the AdminServer and ubrokers in OpenEdge ?


Article Number000022572
EnvironmentProduct: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Other: AdminServer, ubrokers
Question/Problem Description
How to increase or modify java heap size for the AdminServer in OpenEdge ?
How to increase java memory for AdminServer in OpenEdge?
Where to increase java heap for ubrokers?
How do we set jvmargs for individual ubrokers?
Where to set JVMARGS in OpenEdge?
How to adjust JVM memory heap size in OpenEdge?
How to address java.lang.OutOfMemoryError ?
Which jvmargs configuration settings take precidence?
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement Number
JVMARGS in OpenEdge release 10 and later are set in the file and also in file for individual ubrokers. These are both located in the DLC/properties directory.

JVMARGS may be set the same for all processes/plugins started by the AdminServer if set under the [PluginPolicy.Progress.AdminServer] section of the file or each process may be tailored differently in their separate configuration area. (eg NameServer, AppServer, WebSpeed, DataServer)

jvmArgs can also be set in file under specific broker definition, this setting in file will overwrite any setting in

In light of the above, the order of precidence is as follows:

AdminServer heap is set in dlc/properties/ under [PluginPolicy.Progress.AdminServer] jvmargs=-Xmx256m -Xms128m

a. Set GLOBAL ubroker non-overidable in dlc/properties/ under the [PluginPolicy] jvmargs=-Xms32m
b. Set GLOBAL ubroker overidable after commenting out (a) [PluginPolicy] setting specific jvmArgs in under the [UBroker]; [NameServer]
c. Overide (b) setting for all UBroker-type setting specific ubroker jvmArgs in under the [UBroker.AS] [UBroker.WS]
d. Overide (c) setting specific ubroker jvmArgs in eg [UBroker.AS.asbroker1] [NameServer.NS1] [UBroker.WS]

The following examples demonstrate the information above:
  • -Xms <size> set initial Java heap size
  • -Xmx <size> set maximum Java heap size
EXAMPLE 1:  JVMARGS maximum memory limit is set to 256m for all AdminServer processes unless it is overridden by an individual process setting:

classpath=<path to all required jar files in DLC/java/ext DLC/java >
    jvmargs=-Xmx256m -Djava.awt.headless=true -Xbootclasspath/a:C:\Fathom-OE10.0b\fm/jars/pja.jar

Example 2: JVMARGS will use a minimum of 64m for all unified brokers under the AdminServer (eg: (NameServer, AppServer, WebSpeed, DataServer etc) in one place and will over-ride the global setting in Example 1.

Example 3:  JVMARGS maximum memory limit is set to 512m for the SonicMQ Adapter and will over-ride the global setting in Example 1:


Example 4: JVMARGS will use a minimum of 128m and maximum 1g java heap for asbroker1 and will over-ride the global setting in Example 1 and the unified brokers setting in Example 2. This change is made in the file.

jvmArgs=-Xms128m -Xmx1024m 

It is recommended to use the same size for the minimum and maximum heap size to reduce the periodic pause time that happens as a result of the cleaning up of the garbage collection to free-up the heap space. 

After the changes are made, re-start the AdminServer in order for the settings to take effect.
References to Other Documentation: 
Progress Article(s):
000028882, "How do I modify Java heap size for Progress 9 ?".

NOTE:  For 32-bit Progress (i.e. 32-bit Java) the heap limit on Windows is between 1.4 - 1.6 GB.  This is a limitation of the way Windows handles memory.
Last Modified Date3/21/2018 5:20 PM