在 mongodb 中,我使用这个集合:
Size 55.93g
Data Size 39.82g
Storage Size 41.08g
Extents 53
Indexes 4
Index Size 9.64g
mongdb 只用了几秒钟就完成了这个单一的集合,并且专用服务器上的所有 48GB RAM 都消失了。
更糟糕的是,这台机器上还有一个 mysqld+nginx/fcgi 应该允许至少一起使用 24GB。即剩余24GB,足够mongod使用!
然而,它并没有以公平的方式分享。每个人都说 mongod 的内存由操作系统管理,如果其他进程需要 RAM,则会释放不必要的空间。在我的机器上,它没有释放 RAM。怎么了?
自由的
total used free shared buffers cached`
Mem: 49559136 49403908 155228 0 57284 47247564
-/+ buffers/cache: 2099060 47460076
Swap: 8008392 164 8008228
正如您在 free 的输出中看到的,缓存了 47460076 字节。如果需要,它们会被释放。不要担心你有足够的内存,mongoDB 不会吃掉它。当其他应用程序真正需要它时,它只需要一点内存就可以立即释放。