This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal



Feb 23, 2011, 10:18 AM
170 Posts
topic has been resolvedResolved

Out of Memory in XPage JVM

  • Category: Performance
  • Platform: All
  • Release: 8.5.2
  • Role: Developer
  • Tags: Out of Memory
  • Replies: 7
 I got a out of memory message on the server and the only way to was to tell http quit and load http
 
Anybody know if there is some way of finding out what made the "out of memory" issue I have assigned 512M to the heapsize variable
and there is no production users on the XPage site so it's just a few test users. 
 
The site only uses viewScope variables to the garbage collect should clean up these variables if the page is reloaded right?
 
It there a way to find out how much memory each user uses? 
Feb 23, 2011, 12:26 PM
40 Posts
Re: Out of Memory in XPage JVM
On OpenNTF there is the XPages Toolkit that may help, but the easiest way is to get hold of YourKit Java Profiler and install it on the server and profile the JVM ... it will give you an wealth of information.  If you look at this blogpost entry: http://www.zetaone.com/jeremy/hodgebloge.nsf/d6plinks/JGHE-8E6V5S You can see where I've profiled the JVM and take a look at the memory in image #2 using YourKit. YourKit is not free, its like $499, but there is a 30 free trial...
 
As to your actual issue with the memory leak, are you on 8.5.2 FP1? You'll want to be for this reason. It may solve your issue. 
Feb 23, 2011, 12:32 PM
170 Posts
Re: Out of Memory in XPage JVM
 Yes I run 8.5.2 FP1
Feb 23, 2011, 12:45 PM
40 Posts
Re: Out of Memory in XPage JVM
Download the YJP, install it on your server, and install on your machine. Follow the directions for integrating it with a J2EE server ... it will give you a line of text for your java options that will look something like this (example is for linux, but there are win versions as well) (BTW, I add the port=10001 to the end to force it to use that tcp port so I can get it through a firewall):
 
 -agentpath:/yourkit/yjp-9.5.3/bin/linux-x86-32/libyjpagent.so=disablestacktelemetry,disableexceptiontelemetry,builtinprobes=none,delay=10000,port=10001
 
 Paste the line into a file and save the file in your notes program directory, then add a line to your server's notes.ini like this:
 
JavaOptionsFile=C:\Lotus\Domino\JavaOptionsFile.txt
 
Using the path to the file you created above. Restart your server, then start up YJP on your local machine, then connect to the server ... once connected, start the profiling and you be able to track memory usage, calls, objects, etc ....
Feb 24, 2011, 12:22 PM
6 Posts
Re: Out of Memory in XPage JVM
What kind of server are you using, and 32bits or 64bits?
Mar 22, 2011, 8:26 AM
170 Posts
Re: Out of Memory in XPage JVM
 32 bit server
Feb 28, 2011, 11:05 AM
3 Posts
Re: Out of Memory in XPage JVM
When you say "headsize", you mean HTTPJVMMaxHeapSize, right?
 
Because the default 64M in 8.5.2 is too little (and why did they change it from 256M anyways?)
 
viewScopes should recycle,  but it can depend on what you put in them, and you have no guarantee that the JVM will recycle right after the scope dies, it will in most likely wait a few minutes.
 
Feb 28, 2011, 2:30 PM
2 Posts
It was a request from Lotus support to avoid out-of-memory
Support is requesting that the default be made to be 64 MB which was the jvm heap default for many versions of
Domino. Support is seeing low memory panics on servers where http private memory is
wasted on the jvm because the servers are not running xpages. This spr is to
track customer reports for support where we have either had to get the hotfix
for 8.5 or have the customer lower using the ini on 8.5.1 or later.
 
From Technote 1431525

Starting with Domino 8.5 release a new ini setting became the
default for
Domino servers running the http task. That setting is
HTTPJVMMAXHEAPSIZE and
the default size was set to 256MB (megabytes). The setting is
specifically
targeting the JVM being used by the HTTP process. The change was
made to
accommodate Xpages which uses the JVM on the server.
Administrators looking  at
the server's notes.ini after an install would see the setting
-

HTTPJVMMaxHeapSize=256M

In 8.5 this was not changeable by the Administrator. This
ability to modify the
size was added to the 8.5.1 version of the product as documented
in TN#1377205
though the default value of 256MB was still the default.

Starting with 8.5.2 the default value will be set to 64MB. The
first time the
server starts up if the HTTPJVMMaxHeapSize is set to 256MB it
will be reset to
64MB. A new setting will be placed in the server's notes.ini
named
HTTPJVMMaxHeapSizeSet=1. This will keep the server from
resetting the HTTP JVM
heap size on subsequent restarts of the server or HTTP task.
Adminstrator's can
use HTTPJVMMaxHeapSize to set any size they wish for the HTTP
processes heap
size and if the ini HTTPJVMMaxHeapSizeSet=1 is present the
server will adhere
to the size set.
This is only done for 32 bit platforms. The default heap size
for 64 bit
operating systems is 1 Gigabyte.

On Iseries the minimum allowable size is 256 MB.

Customers running multiple servers who are not using xpages do
not need to set
the JVMMaxHeapSize to this size, 64mb is enough.

This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal