10.0 LNDM/DOC - Notes initialization failure-433: Unable to map the required amount of shared memory
Article ID: LNAR0005 Issue happens on AIX-64 bit-Domino32 bit platform, if we dont have access to enough memory segments.
Notes initialization fails, on AIX 64 bit with Domino 32 bit, due to Error - 433, Unable to map required amount of shared memory
- Use Command line utility to confirm the issue- if it fails due to above mentioned reason.
- Check notes.ini for memory related entries "AIX_LIMIT_SHM_SEGMENTS", "AIX_VERY_LARGE_MM"
Explaination of AIX (64 bit + 32 bit Domino) memory model:
Assume there are 12 segments are available per process which is 3GB(256*12)
- Typically our process will use 1GB, which is 4 segments, using MAXDATA Flag during complilation.
- Lets say Domino is configured to use 10 segments, 2.5 GB (10*256) and dont have any limit on shared memory usage for Domino so this will grow as much as it can regardless of the need. It ca be configured using following entries:
- In this case, we cannot map shared memory into our process since our process is not cut for large memory and we don't have many segments remaining for our process.
Hence we encounter "unable to map the required amount of shared memory"
Please note that issue will not occur on 9.0 [All iDAs] and 10.0 LNDB, as binaries were not launched directly, lndbJobstart/lndocJobstart/lndmJobstart used to launch first that prepared the environment for launching the notes binaries successfully.
If AIX_VERY_LARGE_MM=1 is set in notes.ini, domino server uses AIX very large memory model.
LN binaries use shared memory with domino server. To successfully initialize notes environment, LN binaries should also be using the same memory model as the domino binaries. We can change the memory model of an application to use very large memory model at runtime by setting the LDR_CNTRL=MAXDATA= 0xN0000000/DSA environment variable before starting it where “N” is a hexadecimal number from (0-D).
In 10.0, for Domino Document/Archiver iDA, we are not setting LDR_CNTRL=MAXDATA to required value and launching LNDOC/DM binaries [lndocDiscover,lndmifind, etc] directly.