In order to ensure cost efficiency, all WafaiCloud-managed Java servers are automatically configured to utilize memory in the most beneficial way by adjusting the main Java memory parameters based on the amount of resources, allocated to a container.
Herewith, for a high performance or any other custom configurations, the default options can be manually changed.
1. In order to provide all the preferred Java options at once, the variables.conf file can be utilized.
Depending on a particular application server you are working with, the exact location may vary:- Tomcat, TomEE - /opt/tomcat/conf/variables.conf
- Jetty - /opt/jetty/etc/variables.conf
- Spring Boot - /opt/shared/conf/variables.conf
- GlassFish - /opt/glassfish/glassfish/domains/domain1/config/variables.conf
- Payara - /opt/payara/glassfish/domains/domain1/config/variables.conf
- WildFly - /opt/wildfly/conf/variables.conf

If needed, you can redefine the main memory options via container variables.
2. Don’t forget to Restart nodes to apply changes.That’s it! Now, your application is running with your custom Java options.
Redefining Main Java Parameters
The most essential memory parameters (-Xms, -Xmn, -Xmx, -Xminf, -Xmaxf, -XX:MaxPermSize, -XX:+Use.*GC) can be redefined using the dedicated environment variables.
As an example, you can Add the -Xmx option (i.e. maximum size for the Java heap memory):
Spring Boot and Java Engine Specific Variables
- JAVA_OPTS - to customize Java options for your app (similar to the variables.conf file)
- JAVA_ARGS - to pass some custom arguments to your application main function

Don’t forget to restart your application server(s) in order to apply changes.