Child pages
  • Memory Management

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
wrapper.java.additional.5=-XX:MetaspaceSize=200M
wrapper.java.additional.6=-XX:MaxMetaspaceSize=200M
wrapper.java.additional.7=-XX:MinMetaspaceFreeRatio=0
wrapper.java.additional.8=-XX:MaxMetaspaceFreeRatio=100 
wrapper.java.additional.9=-XX:MaxPermSize=128m
wrapper.java.additional.10=-XX:+UseG1GC
# make sure that the hardcoded System.gc() or Runtime.gc() are ignored (rmi does this)
wrapper.java.additional.11=-XX:+DisableExplicitGC
# Initial Java Heap Size (in MB), when G1GC is used just set the init memory to the max memory
wrapper.java.initmemory=321280  
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=1280

...

For all three scenario's that the Servoy Application Server can be started (as a service, manual stand-alone or manual clustered), the value for the Java Perm Space is controlled by the 'XX:MaxPermSize' setting in the above mentioned configuration location for java 7 or for java 8:

-XX:MetaspaceSize=60M 200M -XX:MaxMetaspaceSize=60M 200M -XX:MinMetaspaceFreeRatio=0 -XX:MaxMetaspaceFreeRatio=100 

...

Or through Monitoring Servoy with JMX

 

Running big servers with big heaps for many Web/NGClients

For large heaps (more then 4G) that needs to handle quite a lot of Web or NGClients the vm needs some tuning to be able to handle this nicely.

Use the latest Java 8 and use the G1 Garbagabe collector for this and make sure that the initial heap and the maximum heap ist just set to the same value:

-server -Xms4G -Xmx4G -XX:+UseG1GC -XX:MetaspaceSize=200M -XX:MaxMetaspaceSize=200M -XX:MinMetaspaceFreeRatio=0 -XX:MaxMetaspaceFreeRatio=100 -XX:+DisableExplicitGC 

 

Where the 4G for the initial (Xms) and the max (Xmx) should be set to the maximum heap you want or can assign to the java vm.

Smart Client Memory Management

...