Child pages
  • Memory Management

Versions Compared

Key

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

...

  • Started using the Service component > {serverInstall}\application_server\service\wrapper.conf
  • Manually started stand-alone > {serverInstall}\application_server\servoy_server.bat/.sh
  • Manually started in Servoy Cluster >  {serverInstall}\application_server\terracotta/start_servoy_clustered.bat/.sh

Determining

...

the Required Java Heap Space Value

The components that contribute to the Java Heap Space requirements for a Servoy Application Server consists of the following parts:

...

  • Smart Client using the Servoy HTTP Tunnel:  assume 900kb for each Smart Client
  • Smart Client using another connection mode than the HTTP tunnel: assume 600kb for each Smart Client
  • Web Client, Headless Client (incl. the RESTfull plugin connection poolsize) & Batch processors: the required memory for each client depends on the size and design of the solution, but should be in the order of magnitude of a couple of Mb per Client. For more guidelines, see below.

Smart Client Memory usage Usage vs. other Other Servoy Client

The Smart Client runs on the client machine, not on the Servoy Application Server like the other Servoy Clients, like the Web Client, Headless Client or Batch Processor. The Smart Client is only registered with the Application Server and thus consumes far less memory on the Application Server compared to the other Servoy Clients. See Smart Client Memory management for more information on configuring the Memory settings for Smart Clients specifically.

Web Client, Headless Client & Batch processors memory usageProcessors Memory Usage

The memory usage of Web Clients, Headless Clients and Batch Processors depends highly on the design of the solution. While Servoy optimizes many things to keep the memory footprint as low as possible, it is logical that a simple solution showing just one form at the time has a different memory footprint than a solution that has a very complex UI, showing 20 Forms and/or different sets of data at the same time.

...

  • Small solution (1 - 50 forms), simple user interface: 2Mb
  • Medium size solution (51 - 500 forms), average complex user interface: 10Mb
  • Large solution (> 500 forms), complex user interface: 20Mb

Configuring

...

the Java Heap Space Value

The setting that requires tuning based on the determined required memory for the Servoy Application Server is the Maximum Heap Space setting (Xmx). By default the Maximum Heap Space is set to 1028MB within Servoy. This setting should be changed when:

...

(warning)   An 32 bit JVM will allow a maximum memory assignment of 2Gb in total. In order to assign more than 2Gb of memory, a 64 bit JVM on a 64 bit OS is required.

Determining

...

the Required Java Perm Space Value

By default the Java Heap Space size is set to 128Mb, which is a sufficient value for most deployments. A scenario in which this value needs increasing is when the Servoy Application Server is loaded up with a lot of additional plugins, beans, LAF's and drivers.

Configuring

...

the Java Perm Space Value

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.

Monitoring

...

the Memory Usage

The actual memory usage of a Servoy Application Server can be observed on the Servoy Admin page. The 'Servoy Server Status' overview on the 'Servoy Server Home' page displays the allocated, used and maximum values for the Heap memory and all other spaces combined (non-Heap memory).

...