Consultor Eletrônico



Kbase P99089: How to increase or modify java heap size for the Admin Server in OpenEdge ?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   27/05/2011
Status: Verified

GOAL:

How to increase or modify java heap size for the Admin Server in OpenEdge ?

GOAL:

How to increase java memory for Admin Server in Open Edge?

GOAL:

How to set the JVMARGS in Release 10?

GOAL:

How to adjust JVM memory heap size in OE 10?

GOAL:

How to address java.lang.OutOfMemoryError ?

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge 10.X

FIX:

JVMARGS in OpenEdge release 10.x are set in the AdminServerPlugins.properties file and also in ubroker.properties file. 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 AdminServerPlugins.properties file or each process may be tailored differently in their separate control area. (eg NameServer, AppServer, WebSpeed, DataServer ...)

jvmArgs can also be set in ubroker.properties file under specific broker definition, this setting in ubroker.properties file will overwrite any setting in AdminServerPlugins.properties.
Following examples demonstrate the information above:

-Xms <size> set initial Java heap size
-Xmx <size> set maximum Java heap size
1. This example sets the JVMARGS maximum memory limit to 256m for all AdminServer processes unless it is overridden by the individual process setting:

AdminServerPlugins.properties:
[PluginPolicy.Progress.AdminServer]
pluginclasspath=!{value-of:classpath}
classpath=C:\OpenEdge10B\DLC/java/ext/jmxri.jar,C:\OpenEdge10B\DLC/java/ext/mgmt_agent.jar,C:\OpenEdge10B\DLC/java/ext/mgmt_client.jar,C:\OpenEdge10B\DLC/java/ext/mgmt_config.jar,C:\OpenEdge10B\DLC/java/ext/sonic_Client.jar,C:\OpenEdge10B\DLC/java/progress.jar,C:\OpenEdge10B\DLC/java/osmetrics.jar,C:\OpenEdge10B\DLC/java/jdbc.jar
jvmargs=-Xmx256m -Djava.awt.headless=true -Xbootclasspath/a:C:\Fathom-OE10.0b\fm/jars/pja.jar
2. This example will over-ride the global setting in step 1, and set the amount of memory to be used by the SonicMQ Adapter to 512m.

AdminServerPlugins.properties:
#
# Policy for the 4GL SonicMQ Adapter
#
[PluginPolicy.Progress.SonicMQ]
pluginclasspath=C:\OpenEdge10B\DLC/sonic/MQ7.5/lib/sonic_Client.jar,C:\OpenEdge10B\DLC/java/progress.jar
classpath=C:\OpenEdge10B\DLC/sonic/MQ7.5/lib/sonic_Client.jar,C:\OpenEdge10B\DLC/java/progress.jar
jvmargs=-Xmx512m

3. This example will over-ride the global setting in step 1 for the asbroker1, setting to use minimum 128m and maximum 1g amount of memory. This change should be done in the ubroker.properties file.
ubroker.properties:
[UBroker.AS.asbroker1]
jvmArgs=-Xms128m -Xmx1024m

4. This example will over-ride the global setting in step 1 and set the jvmargs to use minimum 64m for all unified brokers under the AdminServer (eg: (NameServer, AppServer, WebSpeed, DataServer etc) in one place:

AdminServerPlugins.properties:
[PluginPolicy]
jvmargs=-Xms64m

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.

For earlier Progress versions please refer to Solution P79525, "How do I modify Java heap size for Progress 9 ?"