Мне не удалось создать репликацию, т. Е. Rs.initiate(), когда значение oplog имело значение по умолчанию. У моего сервера было более 400 ГБ свободного места. В официальной документации MongoDB в default range для ТСМА составляет 5% свободного дискового пространства между 990MB до 50GB, но here под Использование памяти: -Не удалось запустить сервер mongod со значением по умолчанию oplog при попытке репликации
С MMAPv1, MongoDB автоматически использует все свободной памяти на машине в качестве кэша.
Ошибка на консоли при выполнении rs.initiate() после запуска mongod без каких-либо oplog вариантов размера:
ММАП не удалось с из памяти
"ErrMsg": «не может инициировать : файл /data/0/local.7 открыть/создать не удалось в createPrivateMap (смотрите в журнале для получения дополнительной информации)»
Итак, я начал mongod с --oplogSize +4096 только после чего я был в состоянии сделать RS .ini tiate. Теперь я знаю проблемы с небольшим размером oplog, но я хочу, что именно произошло в фоновом режиме. 5% свободного места на диске или 50 ГБ верхней границы, в любом случае на моем сервере все еще было неплохое 300 ГБ.
Использование --smallfiles тоже не помогло, только когда я предоставляю размер -oplog, он работает. Сколько памяти, по вашему мнению, используется и как это проверить? Как уже упоминалось, доступно свободное место на 400 + ГБ. –
Сколько (небольшой) памяти имеет ваш сервер? У меня никогда не было сервера admin mongo, у которого так мало памяти, что у него «закончится память». Когда вы протестировали это --smallfiles, у вас был пустой datadir? – JJussi
У меня почти 400 ГБ пространства на моих серверах, но mongodb начинался только с размером затвора 6 ГБ. Да, --smallfiles используется с пустым datadir, но без размера oplog. Только когда я предоставляю размер oplog 6 ГБ или ниже всех конфигураций. –