NDB Cluster Configuration Files Restart Type N (NDB 8.0.13) Version (or later) NDB 8.0.13 Type or units numeric Default 0 Range 0 - 2 Restart Type N (NDB 8.0.13) Allocate memory for this data node after a connection to the management server has been established. Enabled by default. For a number of operating systems, including Solaris and Linux, it is possible to lock a process into memory and so avoid any swapping to disk. This can be used to help guarantee the cluster’s real-time characteristics. This parameter takes one of the integer values  0 ,  1 , or  2 , which act as shown in the following list: If the operating system is not configured to permit unprivileged users to lock pages, then the data node process making use of this parameter may have to be run as system root. ( LockPagesInMainMemory uses the  mlockall  function. From Linux kernel 2.6.9, unprivileged users can lock memory as limited by max locked memory . For more information, see  ulimit -l  and http://linux.die.net/man/2/mlock). In older NDB Cluster releases, this parameter was a Boolean.  0  or  false was the default setting, and disabled locking.  1  or  true  enabled locking of the process after its memory was allocated. NDB Cluster 8.0 treats  true  or  false for the value of this parameter as an error. Beginning with  glibc  2.10,  glibc  uses per-thread arenas to reduce lock contention on a shared pool, which consumes real memory. In general, a data node process does not need per-thread arenas, since it does not perform any memory allocation after startup. (This difference in allocators does not appear to affect performance significantly.) The  glibc  behavior is intended to be configurable via the  MALLOC_ARENA_MAX environment variable, but a bug in this mechanism prior to  glibc 2.16 meant that this variable could not be set to less than 8, so that the wasted memory could not be reclaimed. (Bug #15907219; see also http://sourceware.org/bugzilla/ show_bug.cgi?id=13137 for more information concerning this issue.) One possible workaround for this problem is to use the  LD_PRELOAD environment variable to preload a  jemalloc  memory allocation library to take the place of that supplied with  glibc . 4100 Note Important • LockPagesInMainMemory • 0 : Disables locking. This is the default value. • 1 : Performs the lock after allocating memory for the process. • 2 : Performs the lock before memory for the process is allocated.