Servoy is built using Java technology and as such the memory management for Servoy is basically Java Memory management. This chapter describes the basics of Java Memory management, which will be sufficient for all but the most extensive and complex Servoy environment. deployment scenario's.
...
...
...
The two most important spaces of memory that a Java process uses are the Java Heap Space and the Java Perm Space.
...
The memory footprint is not linear with the number of Forms a Solution contains, as Forms are instantiated on a need-to basis.
As there is no way to determine up front how much memory a Web/Headless/Batch Processor Client will use, the only way to dimension the memory correctly is by monitoring and tuning it.
For the initial dimensioning, use the following rules of thumb:
By default the maximum heap size is set to 256MB. This setting should be changed when:
There is a big difference in
...
...
...
Depending on how the Servoy Application Server is started, the Memory setting need to be applied in a different location.
...
...
When starting the Servoy Application Server manually through {serverInstall}\application_server\servoy_server.bat/.sh, the memory settings for the Application Server can be configured inside servoy_server.bat/.sh:
Code Block |
---|
java -Djava.awt.headless=true -Xmx256m -Xms64m -XX:MaxPermSize=128m .....
|
When using the Service component to automatically launch the Servoy Application Server when the machine on which it is installed is booted, the memory settings for the Application Server can be configured inside {serverInstall}\application_server\service\wrapper.conf:
Code Block |
---|
wrapper.java.additional.4=-XX:MaxPermSize=128m
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=32
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=256
|
For more information on configuring the Service component, see Running the server as a service
When the Servoy Application Server is part of a Servoy Cluster, the memory settings can be configured in {serverInstall}\application_server\terracotta\start_servoy_clustered.bat/.sh
...
:
Code Block |
---|
-Xmx256m -Xms64m -XX:MaxPermSize=128m
|
...
...
When the Servoy Application Server runs under a 32 bit JVM the maximum amount of memory that can be assigned to the Java process is 2Gb. This is a limitation of 32 bit. In order to be able to assign more memory, a 64 bit environment is required.
...
Virtual Machine Arguments
The maximum heap size setting is located in ../application_server/servoy_server.sh/.bat, through the "Xmx" setting.
When the Application Server is started as a Service the setting can be found in ../application_server/service/wrapper.conf, by the name of "wrapper.java.maxmemory".
...