Hosted by:
SourceForge

wrapper.java.maxmemory Property
wrapper.java.maxmemory Property
Configuration Property Overview
wrapper.java.maxmemory

The maximum amount of memory in megabytes that the JVM will be allowed to use. Defaults to 0, which will cause the JVM's default value to be used. For most JVMs, the default value is 64MB.

If a non-zero value is specified for this property then an appropriate -Xmx parameter will be added to the Java command generated by the Wrapper. If specified, the maximum memory must be greater than or equal to the value set for the wrapper.java.initmemory property. The upper limit depends on the JVM, but for 32-bit JVMs, it tends to be a little less than 2048Mb. 64-bit JVMs allow much higher settings.

If this property is set to 0 then it is also possible to specify the -Xmx parameter manually using the wrapper.java.additional.<n> property.

Example:
wrapper.java.maxmemory=64

NOTE

If an application is experiencing java.lang.OutOfMemoryErrors then this often indicates that the maximum amount of memory available to the application needs to be increased. Be aware that setting the maximum memory to a value which is greater than the amount of actual memory on the machine will result in memory swapping. Memory swapping is a function of the operating system, and thus its performance is highly operating system specific. However from experience this tends to result in a large decrease in application performance. In most cases, it is better to set the maximum memory to a value which fits within available memory and then rely on Java's garbage collection.

NOTE

Unless you really do know everything there is to know about memory and Garbage Collection in Java, I would recommend reading through the following document. It describes in detail how the initial and maximum memory values affect Java performance and also goes into detail about what can be done to improve that performance for a given application.

by Leif Mortenson

last modified: