IBM Support

Changing the maximum heap size in the JVM to increase Notes performance

Technote (FAQ)


Question

Several customers have asked if they can increase the performance of the Notes Standard client by changing JVM options; for example "vmarg.Xmx=-Xmx256m", or "vmarg.Xms=-Xms48m".

The option that is mentioned most frequently is the JVM's maximum heap size (-Xmx) used by Notes, and the pros and cons of increasing it.

Note: For Windows, these settings can be accessed using "Start - Control Panel - Programs - Java".


Answer

The Java maximum heap size should be set to the appropriate size for your application, not for the computer on which the application runs.
Notes is a 32-bit application and though your computer might use a 64-bit operating system with 4, 8 or 16 GB memory, the Notes JVM can only work with 2GB memory due to 32-bit addressing limitations. Setting the Notes JVM memory too high can starve the 'native' Notes processes. In addition, when the maximum heap size is increased, it encourages the JVM to use that memory and allow the heap to continually grow, instead of limiting the size of the heap.

It's important to pick a maximum heap size that works for the application.

You can modify the maximum heap size by editing the jvm.properties file

Windows Notes\framework\rcp\deploy\jvm.properties
Mac Applications/IBM Notes.app/Contents/MacOS/rcp/Deploy/jvm.properties

and adjusting the following values:

vmarg.Xmx=-Xmx256m
vmarg.Xms=-Xms128m
vmarg.Xmca=-Xmca32k
vmarg.Xmn=-Xmn96m

Be sure to restart Notes after saving your changes.

While it's unlikely that increasing the maximum Java heap will help most users, one case where it could help is if your heap is mostly full (within 10% of the specified -Xmx (maximum heap size) value, which is 256MB), and stays mostly full. As your heap size approaches the maximum, the garbage collector will spend more and more time trying to collect/compact the large heap.

Testing performed by IBM for the Lotus Notes 8.5.1 release increased the maximum heap size, and measured the improvement to startup, user actions and memory footprint. None of them were helped by increasing the maximum heap size.

In general, the more changes you make in the JVM, the more you prevent the JVM from doing what it thinks is best. Sometimes that's the right thing to do, other times it isn't. The best way to answer these questions for your organization is with hard data in a controlled environment.

Document information

More support for: IBM Notes
Install/Setup

Software version: 8.5, 8.5.1, 8.5.2

Operating system(s): Linux, Windows

Software edition: Edition Independent

Reference #: 1456903

Modified date: 06 July 2017


Translate this page: