Linux unlimit settings for merges

For purposes of generation merging, it is recommended that you set the ulimit -v and -m parameters to unlimited.

An unlimited setting for the -v option sets no limit on the maximum amount of virtual memory available to a process, and for the -m option sets no limit on the maximum resident set size. These unlimited settings can help prevent problems when the Dgraph is merging the generation files.

An example of a merge problem due to insufficient disk space and memory resources is the following Dgraph error:
ERROR 04/03/13 05:24:35.668 UTC (1364966675668) DGRAPH {dgraph} BackgroundMergeTask: 
exception thrown: Can't parse generation file Endeca.generation.v2-v446.dat, caused by 
I/O Exception: While mapping file, caused by mmap failure 
(file=/data/mdx/workspace/test_indexes/generations/Endeca.generation.v2-v446.dat 
offset=0 length=28728057528): Cannot allocate memory

In this case, the problem was caused because the Dgraph could not allocate enough virtual memory for its merging task.