This article will describe areas in an NSD log to analyze HTTP memory crash scenario.
HTTP memory crash
defined by "Insufficient memory" or "out of handles" messages.
NSD log from crash will contain memory information for the Domino processes. Below is memory summary for HTTP process from Domino server running on Windows OS.
Note: NSDs from Unix OS, use “Process Heap” size under “Process Heap Memory Stats”
In the example below, Process Memory Mapping shows that HTTP private memory is over 1G in size:
Overall HTTP memory is comprised of the following:
1. Private Static-DPools
3. Thread stack Space
In troubleshooting memory crash, need to identify if any of these areas are contributing to high memory usage.
These are memory allocations performed by Notes using various DPools (4 MB to 8 MB). These pools are not freed back to the OS after being used.
DPools are found within an NSD or Memcheck log under “Process Heap Memory Stats” section:
MBlocks are memory blocks allocated directly from the OS and released back to the OS when freed by the caller.
From NSD log search for “Directly Allocated Memory” under memcheck for HTTP process.
Thread stack Space
Generally, each HTTP thread uses about 1 MB of memory per thread.
NSD log has a Server Statistics section that includes HTTP.workers stat showing the number of HTTP worker threads configured on the server.
Notes Data -> Server Data -> Server Statistics (Time 09:20:29)
Http.Workers = 140
Java heap size by default is 64MB however, this can be modified via Notes.ini parameter JavaMaxHeapSize or HTTPJVMMaxHeapSize in Domino 8.5.1 or later. Overall HTTP memory will be impacted in cases when Java heap size has been increased to high number.
NSD log has Notes.ini section to check if these parameters are being used on Server.
System Data -> Environment -> C:\Lotus\Domino\notes.ini (Time 09:20:58)
LotusScript memory currently found in a memory.dmp file. The “HTTP” process section has “LotusScript Memory Usage” section