|This contains a knowledge collection of common Domino memory issues and preventative actions to take.
The goal of this series of articles is to provide information on commonly seen Notes and Domino memory errors, along with ways to proactively take action. This may allow you to take action and avoid potential crashes.
Links to detailed information on common memory related errors
Why do we see Memory related issues in Notes/Domino?
When it comes to memory usage in Notes/Domino, the topic can get complex very quickly. There are many variables which affect Domino's memory usage such as: custom coding/applications/addins, amount of simultaneous db/document access, server load. Simultaneous db/document access is complex in itself and has increased greatly over the years. This could refer to users accessing documents, 3rd party applications accessing dbs/documents (like backup, archiving applications), mass mailings, a huge increase today is due to mobile device access to Notes/Domino. Many mobile devices communicate with servers which probe and access the Domino Server every couple seconds for each user, this behavior drives large amounts of Server load which translates to memory usage. As you can see, there are many variables, and every system can be different.
With technology continually improving, we continue to push limits; especially older 32-bit OS limits, which limit memory usage, overall and per process memory. Mail and attachment sizes get bigger, our social contacts have expanded greatly. Social and mobile multiply loads, sharing with more people, devices and communities.
Of course, Domino also provides a complete application development platform, supporting many languages; for example, Java, Lotuscript, as well as other APIs. Many times we have seen custom applications which have been developed and tested, and function fine, only to start having memory issues as the application is rolled out into the production environment, or as the applications usage scales up to lots of users.
All of the above lead to higher loads and thus higher memory usage.
Common preventative actions that should be taken to avoid these issues
Common troubleshooting methods (to be expanded)
- Collect diagnostic data - ISA-Lite
- Common debug - enabling console log, how to run NSDs, how to create memory dumps
- Start to identify the culprit - If crash, id fatal.. look at top 10, find process crashed
Run the LND (Lotus Notes Diagnostic) tool on your diagnostic data. LND provides a way to quickly analyze your NSDs. If the system has crashed, LND will automatically identify the process and crashing stack. Additionally it will provide information about the crashing process, ie: memory, databases being processed, etc. LND will also search the IBM technote database and provide links to possible related documents.
Check the following resource for details on how to use LND and where to get it: Tutorial on using the LND tool