Tuesday 27 March 2012

Reminder: Increase the maximum available memory on your Lotus Notes client JVM today!

Yup, that's right.  Public Service Announcement time.

If you haven't increased the maximum memory available to your Lotus Notes JVM yet, what are you waiting for?

By default, the Notes JVM only has 256mb of memory available to it.  On a system with 4GB+ of memory, you should be easily able to increase it to 1/4 to 1/3 of the system memory and improve the end user performance.

Here's how:

  1. Shut down Lotus Notes.

    • In order to make sure that all processes are stopped, run this command:

    •  Start -> Run

  2. Type:

    • C:\Program Files (x86)\IBM\Lotus\Notes\nsd.exe -kill

  3. Open:

    • C:\Program Files (x86)\IBM\Lotus\Notes\framework\rcp\deploy\

  4. Open the "jvm.properties" file in a text editor like notepad.  You will possibly require Administrator permissions.

  5. At the beginning of the file, you will see text surrounded by a lot of pound signs ####.

  6. The first ‘property’ after the last # sign is:

    • vmarg.Xmx=-Xmx256m

  7. Change 256m to 1024m so that the line reads:

    • vmarg.Xmx=-Xmx1024m

  8. Save your changes and close the file.

Restart your system, and experience the difference.


  1. In case anyone wants to see this in action.  I did a video on this as well as some other domino designer tips for NotesIn9.  http://notesin9.com/index.php/2012/02/12/notesin9-043-domino-designer-tips-and-tweaks/

  2. IMHO you should not only increase Xmx (maximum Java heap size) but Xms (initial Java heap size) too. If you want to reduce memory allocation then consider increasing Xmca to more than the current 8Kb.

    And for smoother garbage collection I would suggest you to change the following entries with a new value:


    Have a look here -> http://publib.boulder.ibm.com/infocenter/realtime/v2r0/index.jsp?topic=%2Fcom.ibm.rt.doc.20%2Frealtime%2Fdiagnose_oom_understanding.html <- if you need to understand how the IBM JVM allocates memory.

  3. Watch out for updates/fixpacks. They all replace the jvm.properties file, so the values go back to the defaults and you have to remember to increase them again.