Changing PASOE heap size (jvm properties for Xmx)

Posted by dbeavon on 20-Nov-2018 15:42

For a while I was pretty unsuccessful today at changing the PASOE heap size on Windows.  The PASOE jvm runs in a process called "tomcat8.exe".  (more here https://tomcat.apache.org/tomcat-8.0-doc/windows-service-howto.html )

It runs that way after you register your instance as a service (tcman service oepas1 register).

But the default max heap is fairly low for a production environment (I think it was 1 GB).  I was attempting to change it in jvm.properties within the conf directory of my instance (per this KB: https://knowledgebase.progress.com/articles/Article/How-to-increase-the-Java-Heap-Memory-of-a-PASOE-Tomcat-JVM )

My changes would never take effect no matter what I did.  The KB is incomplete where Windows is concerned.  Finally I gave up and unregistered the windows service altogether:

proenv>C:\OpenEdge\WRK\oepas1\bin\tcman service oepas1 unregister
oepas1 is unregistered

proenv>C:\OpenEdge\WRK\oepas1\bin\tcman service oepas1 register
oepas1 service is registered

proenv>C:\OpenEdge\WRK\oepas1\bin\tcman service oepas1 start

That seems to have finally caused the max heap to change.The best way to verify is by looking at the tomcat manager. http://localhost:8815/manager/status

Hope this helps anyone else who may be trying to run PASOE on windows.

Posted by Matt Baker on 20-Nov-2018 15:49

FYI

When tcman is used to register a PASOE instance as a windows service it uses a tool provided by Tomcat that allows running a JVM instance as a service.  Tool is called procrun. This tools writes the properties into the Windows registray at HKLM/Software/WOW6432Node/Apache Software Foundation/Procrun 2.0/<service name>

If you dig through the sub tree nodes using regedit you'll see all the java startup parameter switches, including -D and environment variables are extracted out of the config files by procrun.  

Doc is here:

commons.apache.org/.../procrun.html

All Replies

Posted by Matt Baker on 20-Nov-2018 15:49

FYI

When tcman is used to register a PASOE instance as a windows service it uses a tool provided by Tomcat that allows running a JVM instance as a service.  Tool is called procrun. This tools writes the properties into the Windows registray at HKLM/Software/WOW6432Node/Apache Software Foundation/Procrun 2.0/<service name>

If you dig through the sub tree nodes using regedit you'll see all the java startup parameter switches, including -D and environment variables are extracted out of the config files by procrun.  

Doc is here:

commons.apache.org/.../procrun.html

Posted by dbeavon on 20-Nov-2018 16:56

One thing that bothers me is that some of the stuff in jvm.properties seems to be arbitrarily discarded when the service is registered, for example the -Xms property (initial memory size) is not shown in the tomcat8w monitoring tool:

-Xms4096m

-Xmx4096m

The Xmx eventually goes thru, after unregistering and re-registering, but the Xms does not.  I guess someone is just protecting me from myself.  But it would be nice to see an error or warning message about it somewhere (rather than just ignoring me).

This thread is closed