We are about to push out 8.5.2 to our users who are mostly at the initial 8.5.1 release.
I was looking through a presentation on tuning the install when I came across a tweak with the jvm.properties. The suggestion is to set vmarg.Xmx=-Xmx512m. This supposed to allocate java more memory and allow Notes to run quicker.
We currently have some people running other software that can be memory hogs. Currently, there are times when Notes and these apps seem to have issues with each other over memory.
My question is have others tried to tweak these settings and has it caused any unexpected/unwanted issues?
I tried that tweak with 8.5.1, I didn’t notice any difference, either good or bad. I ended up leaving it alone, it was one less thing to configure or have bite me later during troubleshooting.
I’m hesitant to even post this since only one of our users has tweaked the jvm.properties. He reported significant Notes improvement going from 256 to 1024 and has not reported any negative side effects… so far. But then again, it’s only a single data point.
The Java maximum heap size should be set to the appropriate size for the application, not the machine. If you machine has 4 times as much memory as another machine that doesn’t mean Notes needs or should use that extra memory.
When the maximum heap is increased, that encourages the Java VM to use that memory. In other words, the VM doesn’t work very hard to not grow the heap. That’s why it’s important to pick a value that works for the application.
It’s unlikely that increasing the maximum Java heap will help most folks. One case where it could help is if your heap is mostly full (within 10% of the specified -Xmx which is 256MB) and stays nearly full. As you heap size approaches the maximum, the garbage collector will spend more and more time trying to collect/compact the large heap.
In my opinion, if your Java heap is constantly bumping up against the 256MB limit there are bigger problems, and simply increasing the maximum isn’t the answer. If you’re running into situations where your heap grows that large I consider it a bug and we need to get more information and find/fix the defect.
In general, the more knobs you start tweaking in the JVM, the more you prevent the JVM from doing what it thinks is best because you’re telling it that you know better than it does. Sometimes that’s the right thing to do, other times it isn’t. The best way to answer these questions is with hard data in a controlled environment.
Back in Notes 8 we did not set a JVM maximum heap size which means that the VM used half of physical memory. Which means if you have 2 GB of RAM it was like you’d set the maximum heap to 1 GB.
No one praised our performance in Notes 8 with this setting and in fact we were criticized for our large memory footprint and slow startup times.
–
Chris Grindstaff
Technical Lead - Notes Performance
Thanks for the explanation! I’ve seen increasing this value make a difference on two of about a dozen machines I’ve changed it on, so I stopped messing with it.
Subject: Maybe people who don’t notice a change don’t respond?
It’s clear from the responses on your blogpost that for some people it makes a clear difference. There are also some responses of people who didn’t see a difference though. That’s the same situation I see here. For some it helps, for others it doesn’t. That makes it a dangerous setting to mess with. It wouldn’t be good to set 512M as the standard I think. Just leave it as it is and try it with people who have slow performance to see if it helps.