Environment
eDirectory
Identity Manager
Identity Manager
SUSE Linux Enterprise Server 12 (SLES 12)
Red Hat Enterprise Linux 7 (RHEL 7)
Situation
- Out of memory
- IDM Errors; e.g.
- Message: Code(-9076) Unhandled error in event loop: GC overhead limit exceeded
- Error generating trace message: java.lang.OutOfMemoryError: GC overhead limit exceeded
- Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Thread-nnnnn"
- Heap settings are ignored
- DHOST_JVM_INITIAL_HEAP
- DHOST_JVM_MAX_HEAP
- DHOST_JVM_OPTIONS
- Configuration files are ignored
- /opt/novell/eDirectory/sbin/pre_ndsd_start_custom
- /opt/novell/eDirectory/sbin/pre_ndsd_start
- /etc/init.d/ndsd
Resolution
There are two options
1. Set the heap size using iManager
Administration -> Identity Manager Overview -> [Edit Driver Set] -> Misc -> Java Environment Parameters
2. Add Java Heap configuration to /etc/opt/novell/eDirectory/conf/env_idm
e.g.# cat /etc/opt/novell/eDirectory/conf/env_idmLD_LIBRARY_PATH=//opt/novell/eDirectory/lib64/nds-modules/jre/lib/amd64://opt/novell/eDirectory/lib64/nds-modules/jre/lib/amd64/server://opt/novell/eDirectory/lib64/nds-modules/jre/lib/amd64/native_threads::$LD_LIBRARY_PATH:/opt/novell/eDirectory/lib64/apr:/opt/novell/eDirectory/lib64:/opt/novell/eDirectory/../lib64:/opt/novell/eDirectory/lib64/nds-modules:$LD_LIBRARY_PATHNDSD_TRY_NMASLOGIN_FIRST=trueDHOST_JVM_INITIAL_HEAP=134217728DHOST_JVM_MAX_HEAP=3246391296
Option 2 has the advantage that if incorrect values are entered and eDirectory fails to start, the values can be more easily corrected.
Cause
Systemd systems such as SLES 12 and RHEL 7 are configured differently to older SysVinit systems