Memory Tuning (Heap & Portal)

You can adjust the memory footprint of any installed server’s virtual machine (VM) by configuring it in the Heap configuration installation screen that appears during some installations. Within some limits, using more memory, if it is available, generally means better performance. Launching a server without sufficient memory produces the following error: Error occurred during initialization of VM Could not reserve enough space for object heap.

You can re-set these after installation too, with the following properties in \owareapps\installprops\lib\installed.prop­erties:

oware.server.min.heap.size=1024m

oware.server.max.heap.size=1024m

For Windows and Linux valid settings range from 512m to 1024m.

While you can enter any number within these constraints, the following are values that are supported during upgrade. Other values are ignored during upgrade and you must choose again from supported value list during installation/upgrade. Upgrade-able values for Windows or Linux: 512m, 768m, and 1024m.

Portal Memory Settings

To manually change Open Manage Network Manager web portal heap settings, change the setenv.sh or setenv.bat file:

set "PORTAL_PERMGEN=256m"

set "PORTAL_MAX_MEM=3072m"

set "PORTAL_INIT_MEM=768m"

set "PORTAL_32BIT_MAX_MEM=768m"

These files are in the Tomcat***/bin directory. After you change their settings, run them, then re-start the portal service.

Advice About Memory

RAM size on hardware can increase without limit, however, if you configure application server so it does not use half of the configured Heap, then having such a large Heap degrades performance since Java scans and sizes garbage collection with the pre-allocated large Heap in mind.

That is not to say servers cannot have large amounts of memory. As the applications goes into production and usage grows larger RAM lets you adjust to meet demand as it grows. Having a small amount of RAM does not allow for growth when needed.

Another thing to remember: Suppose a host has 32GB for an Application Server. Say the Application Server Heap is 28GB. This limits the amount of Threads you can run at once in Thread Pools as well as I/O forking. Every time Java executes a thread, it allocates memory outside of its VM for native calls Since the server only had 32GB and the operating system must use some, very little remains for processes.

Best practice: lower the Heap Memory in favor or leaving some more available to the operating system so you can take advantage of more threads if you have the CPU cycles.

Too much Heap RAM impacts nothing other than excessive garbage collection which can equate to application pauses as it moves memory around. Application pauses degrade performance.