FLAIM is a FLexible Adaptable Information Management database engine for traditional as well as volatile and complex information.
FLAIM is a very scalable database engine that supports multiple readers and a single-writer concurrency model.
FLAIM is an Open Source embeddable database engine developed by Novell INC and released under the GPL license in 2006.
By default eDirectory uses a block size of 4 KB. The FLAIM Block Cache size for caching the complete DIB is equal to the DIB size, and the size required for the FLAIM Entry Cache is about two to four times the DIB size.
When an Update is preformed an an eDirectory entry, the corresponding blocks for that entry are not directly committed to the File System, so the File System and memory might not be in sync. However, the updates made to the entry are logged to the FLAIM Cache and Roll-Forward Log (RFL). The FLAIM checkpoint process will periodically start a CheckPointThread will commit any Dirty cache items to File System and clean up the Roll-Forward Log if required.
Least Recently Used (LRU) is the replacement algorithm used for replacing items in the FLAIM Cache.
However, you may not be able to cache the complete DIB in large deployments. Avoid using Swap Space even if it means reducing the FLAIM Entry Cache and FLAIM Block Cache sizes.
Use the vmstat tool to find more information on the memory subsystem.
As eDirectory uses memory, each thread from the thread pool uses 1 MB of RAM for its stack. By default, the FLAIM Cache size is set to 200 MB.
Several Loadable Modules are started when eDirectory starts, but the Loadable Module architecture of eDirectory allows you to reduce the memory footprint of the process by not loading the unused modules (for example, SecretStore, LDAP, or eMBox).
In addition, products like DirXML have some Loadable Module that run inside eDirectory.
The memory used by eDirectory might appear to be growing. Although memory is freed by an eDirectory Processes, the memory it might not be released to the Operating System free pool because the memory manager used internally by eDirectory tries to optimize the memory allocations for future. This is one of the reasons for not recommending FLAIM dynamic configuration.
Use the Top tool to find the approximate Virtual Memory size of the NDSD Processes in your deployment.
The maximum memory that can be allocated to a process is limited in several ways. A certain amount of RAM is used by the Operating System and other processes on the system. The Operating System can impose limitations on physical RAM that a process uses.
Edirectory Indexes are maintained with the FLAIM Block Cache.