Child pages
  • Memory Management

Versions Compared

Key

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

...

  • A Java process uses several memory spaces (called the Perm Space or Heap Space for example), each of which use a dedicated block of memory
  • For each space the Java process determines the initial and maximum amount of memory it is allowed to use, of not explicitly specified through configuration. The defaults values differ per JVM implementation and can depend on the hardware on which the JVM is started.
  • The initial and maximum's for each space can also be explicitly specified through configuration
  • The initial memory sizes for all spaces are allocated at startup of the Java process
  • The Java process will allocate more memory only when required, up the specified maximum per space
  • Allocated memory that is not used anymore will periodically be released in a process called Garbage collection. In Java this is a fully automated process
  • If the Java process requires more memory than the maximum in any of the spaces, the Java process will throw a relevant exception, for example an OutOfMemory or Stack Overflow exception. These exceptions should be prevented as they both degrade performance, but more importantly can cause unexpected behavior.

Java Memory spaces

The two most important spaces of memory that a Java process uses are the Java Heap Space and the Java Perm Space. 

...

For more information on configuring the Service component, see Running the server as a service

...

Manual start: servoy_server.bat/.sh

...

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, by altering the -Xmx value:

...