В mongodb я работаю с этой коллекцией:
Size 55.93g
Data Size 39.82g
Storage Size 41.08g
Extents 53
Indexes 4
Index Size 9.64g
Требуется несколько секунд, чтобы mongdb загрузился с этой единственной коллекцией, и все 48 ГБ ОЗУ на выделенном сервере исчезли.
Это хуже, потому что на этой машине также есть mysqld + nginx / fcgi, которым должно быть разрешено использовать вместе не менее 24 ГБ. Т.е. оставшихся 24гб хватило на монгода!
Однако это не справедливо. Все говорят, что память для mongod управляется ОС и освобождает ненужное пространство для других процессов, если им требуется оперативная память. На моей машине ОЗУ не высвобождается. В чем дело?
total used free shared buffers cached`
Mem: 49559136 49403908 155228 0 57284 47247564
-/+ buffers/cache: 2099060 47460076
Swap: 8008392 164 8008228
Как вы видите в выводе free, кэшировано 47460076 байт. При необходимости их освобождают. Не волнуйтесь, у вас много памяти, и mongoDB ее не съест. Просто требуется немного оперативной памяти, которая немедленно освобождается, когда это действительно необходимо другим приложениям.