Skip to main content link. Accesskey S
  • Log In
  • Help
  • IBM Logo
  • IBM Notes and Domino wiki
  • All Wikis
  • All Forums
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • IBM Redbooks
Community Articles Product Documentation Learning Center IBM Redbooks This category IBM iNotes 9.0 Social Edition - Administering IBM iNotes 9.0 Social Edition - Using IBM Notes 9.0 Social Edition IBM Notes Traveler 9.0 - Administering IBM Notes Traveler 9.0 - Using Lotus Notes 8.5.3 Documentation Lotus Notes Traveler 8.5.3 Administration Documentation Lotus Notes Traveler 8.5.3 Usage Documentation Custom Search Scope...
Search
Community Articles > Lotus Domino > Domino memory > HTTP/JVM Out of memory
  • New Article
  • Share Show Menu▼
  • Subscribe Show Menu▼

About the Original Author

IBM contributorMonica Senior
Contribution Summary:
  • Articles authored: 1
  • Articles edited: 0
  • Comments Posted: 0

Recent articles by this author

HTTP/JVM Out of memory

You can monitor the Domino server(s) for error messages that indicate that the Java Virtual Machine (JVM) is out of memory; which can directly impact the HTTP process or the Domino server overall

Community articleHTTP/JVM Out of memory

Added by IBM contributor Monica Senior | Edited by IBM contributor Monica Senior on August 9, 2012 | Version 10
  • Edit
  • More Actions Show Menu▼
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars
expanded Abstract
collapsed Abstract
You can monitor the Domino server(s) for error messages that indicate that the Java Virtual Machine (JVM) is out of memory; which can directly impact the HTTP process or the Domino server overall
Tags: memory, serviceability, wiki, article, jvm, http, exception, OutOfMemoryError

This article is part of a larger series: Preventative Actions and Troubleshooting Common Domino Memory Issues


As a Domino administrator, you can monitor the Domino server(s) for error messages that indicate that the Java Virtual Machine (JVM) is out of memory; which can directly impact the HTTP process or the Domino server overall. There are several types of messages written to the Domino console that can be set up with alerts to notify admins once they occur.  Those messages are:

HTTP Web Server: Out Of Memory Exception
HTTP JVM: java.lang.OutOfMemoryError
HTTP JVM: OutOfMemoryError

Beginning in Domino 8.5.x the HTTP JVM size has been decoupled from the JavaMaxHeapSize ini parameter, which is applied to all other Domino server processes that load the JVM and can be controlled separately.  Since JavaMaxHeapSize sets the java heap for all other Domino server processes that load a JVM, for example, Agent Manager, Runjava, etc., then an Agent Manager process which periodically executes java agents will inherit the JVM heap size set in JavaMaxHeapSize. HTTPJVMMaxHeapSize sets the JVM heap only for the HTTP process.

Common causes for the above "out of memory" errors/exceptions is for HTTP JVM memory exhaustion when running Java agents, XPages, or servlets.




Actions to take

1.  Restart the HTTP process. If the problem is isolated only to HTTP private memory, perhaps recycling the HTTP process will allow memory to be reclaimed and available upon restart.

tell http quit
load http
2.  Ensure that the Java and/or JVM Heap Size is set appropriately. JavaMaxHeapSize applies pre-8.5 Domino and should be reviewed in pre-8.5 environments.  JavaMinHeapSize is also still valid for Domino 7.x and 8.0.1 servers.

Check your notes.ini for HTTPJVMMaxHeapSize. This value may need to be altered depending on Domino features enabled.
- The default value in 8.5 is 256Mb. 
- The default value in 8.5.2 is 64Mb. 
- On IBM i, 256Mb is required.

What is the HTTPJVMMaxHeapSize notes.ini parameter in Domino 8.5 and what should it be set to? (Technote #1377202)
On 8.5.2, HTTPJVMMaxHeapSize should be used instead of JavaMaxHeapSize (Technote #1456465)


3.  Ensure your application or agent is efficiently performing garbage collection
Why it is important to use the Recycle() method on every Java object (Technote #1097861)
Java memory management in Notes/Domino (Notes/Domino wiki article)


Monitor memory usage

1.  You can use the runtime statistics to ensure your application is not leaking memory
How do you check the memory usage of a Java application or agent? (Technote #1193060)
2.  You can monitor the memory Heap by adding the following code to your application:

Runtime s_runtime = Runtime.getRuntime ();
System.out.println(String.valueOf(s_runtime.totalMemory() - s_runtime.freeMemory()))

Be aware that Runtime.getRuntime().totalMemory() will not return 256 Mb if "JavaMaxHeapSize=268435456/256Mb" was set in the Notes.ini. It will grow as more memory is required and will return the OutOfMemory error or hang once it reaches the max threshold of 256 Mb.
Before attempting to collect a memory dump, you should ensure that you are facing a heap exhaustion. You can use JavaVerboseGC=1 to monitor this and how well objects are garbage collected.

3. In 8.5.3 and higher, you can enable a program document in conjunction with the new command to generate heap dumps to monitor the Java heap size.

How to automate the collection of memory dumps (Technote # 1104943)
tell http dump java heap

Data Collection

A. Enable debug for Java agents DebugShowJavaAgentTid=1 and Debug_Agent_Thread=1
What is the significance of using the notes.ini parameter, debugshowjavaagenttid=1 (Technote #1290419)

B.  Enable debug for Java servlets
How to debug a servlet running under the Domino Servlet Manager (Technote #1572868)


C. Collect Heap dumps for xPages related issues.
Starting with Domino 8.5.1, XSP component supports the following Domino console command to generate the size of the Java heap:
 
tell http xsp heapdump

Upon completion, the command would respond with the generated Java heap dump location:
 
tell http xsp heapdump
[086C:0002-1F70] 05-04-2011 10:40:47 AM  HTTP JVM: JVMDUMP007I JVM Requesting Heap dump using 'C:\Lotus\Domino85164Bits\heapdump.20110405.104047.2156.0001.phd'
[086C:0002-1F70] 05-04-2011 10:40:48 AM  HTTP JVM: JVMDUMP010I Heap dump written to C:\Lotus\Domino85164Bits\heapdump.20110405.104047.2156.0001.phd
D. Collect Java heap dumps, javacore(s), or Java system dumps
Starting in 8.5.3, the http server supports some java commands that allow Domino to dump jvm information like core, heap, system. The commands are as follows:

tell http dump java heap
tell http dump java core
tell http dump java system
tell http dump java * - dumps both core and heap

Note: It may take several minutes for the commands to be fully processed.


Recommendations

For web applications that require a large amount of memory to service requests, it is recommended that you utilize 64-bit Domino (available on AIX and Windows) for a larger memory footprint. 


Managing 64-bit memory in IBM Lotus Domino 8.x (Notes/Domino wiki article)


Related Documents

Domino 8.5.2 JVMs create extra AIX shared memory segments causing Domino server crash (Technote #1572118)


About the authors:
Monica Senior is an IBM Certified IT Specialist who works on the UNIX Crash & Performance Team.
Hilda Saucedo was the technical team lead for the Domino WebServer team and now works closely with Lotus Traveler Support.

Go back to: Preventative Actions and Troubleshooting Common Domino Memory Issues

  • Edit
  • More Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (10)
collapsed Versions (10)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (10)Aug 9, 2012 7:15:22 PMMonica Senior  IBM contributor
9Aug 9, 2012 7:14:19 PMMonica Senior  IBM contributor
8Jul 13, 2012 1:24:00 PMTerri Puckett  IBM contributorMinor Change
7Jul 6, 2012 5:09:28 PMTerri Puckett  IBM contributorMinor Change
6Jul 6, 2012 4:34:30 PMTerri Puckett  IBM contributorMinor Change
5Jul 6, 2012 1:44:50 PMTerri Puckett  IBM contributorFormatting changes
4Jul 5, 2012 5:27:43 PMTerri Puckett  IBM contributor
3Jun 29, 2012 4:11:55 PMMike Cregger  IBM contributor
2Jun 26, 2012 2:48:59 PMMonica Senior  IBM contributor
1Jun 26, 2012 2:39:41 PMMonica Senior  IBM contributor
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedHelpAbout
  • IBM Collaboration Solutions wikis
  • IBM developerWorks
  • IBM Software support
  • Twitter LinkIBMSocialBizUX on Twitter
  • FacebookIBMSocialBizUX on Facebook
  • ForumsLotus product forums
  • BlogsIBM Social Business UX blog
  • Community LinkIBM Collaboration Solutions
  • Wiki Help
  • Forgot user name/password
  • Wiki design feedback
  • Content feedback
  • About the wiki
  • About IBM
  • Privacy
  • Accessibility
  • IBM Terms of use
  • Wiki terms of use