MongoDB: недостаточно памяти
Меня интересует потребление памяти MongoDB. Я прочитал соответствующие разделы руководства и другие вопросы по теме, но я думаю, что эта ситуация другая. Могу ли я попросить вас совета?
Это ошибка из файла журнала БД:
Fri Oct 26 20:34:00 [conn1] ERROR: mmap private failed with out of memory. (64 bit build)
Fri Oct 26 20:34:00 [conn1] Assertion: 13636:file /docdata/mongodb/data/xxx_letters.5 open/create failed in createPrivateMap (look in log for more information)
Это файлы данных:
total 4.0G
drwxr-xr-x 2 mongodb mongodb 4.0K 2012-10-26 20:21 journal
-rw------- 1 mongodb mongodb 64M 2012-10-25 19:34 xxx_letters.0
-rw------- 1 mongodb mongodb 128M 2012-10-20 22:10 xxx_letters.1
-rw------- 1 mongodb mongodb 256M 2012-10-24 09:10 xxx_letters.2
-rw------- 1 mongodb mongodb 512M 2012-10-26 10:04 xxx_letters.3
-rw------- 1 mongodb mongodb 1.0G 2012-10-26 19:56 xxx_letters.4
-rw------- 1 mongodb mongodb 2.0G 2012-10-03 11:32 xxx_letters.5
-rw------- 1 mongodb mongodb 16M 2012-10-26 19:56 xxx_letters.ns
Это вывод:free -tm
total used free shared buffers cached
Mem: 3836 3804 31 0 65 2722
-/+ buffers/cache: 1016 2819
Swap: 4094 513 3581
Total: 7930 4317 3612
Действительно ли необходимо иметь достаточно системной памяти, чтобы вместить самые большие файлы данных? Зачем расти столько файлов? (Из последовательности, показанной выше, я ожидаю, что следующий файл будет 4 ГБ.)Я постараюсь расширить оперативную память, но в конечном итоге данные будут расти еще больше. А может это вообще не проблема с памятью?
У меня есть 64-битная система Linux и я использую 64-битную MongoDB 2.0.7-rc1. На диске достаточно места, загрузка процессора - 0.0. Это :uname -a
Linux xxx 2.6.32.54-0.3-default #1 SMP 2012-01-27 17:38:56 +0100 x86_64 x86_64 x86_64 GNU/Linux