【发布时间】:2020-10-21 11:58:34
【问题描述】:
问题是我们有一个巨大的数据集,包含 5000 万条记录,几乎所有字段都被索引,这会导致巨大的 RAM 消耗,并且删除集合后资源没有释放,我知道这可以通过重新启动来解决服务器,但此解决方案不适用于我们的情况。所以,我的问题 - 有没有办法在不重新启动 mongo 服务器的情况下释放 RAM 资源? Mongo 的版本是 4.4。提前致谢。
【问题讨论】:
问题是我们有一个巨大的数据集,包含 5000 万条记录,几乎所有字段都被索引,这会导致巨大的 RAM 消耗,并且删除集合后资源没有释放,我知道这可以通过重新启动来解决服务器,但此解决方案不适用于我们的情况。所以,我的问题 - 有没有办法在不重新启动 mongo 服务器的情况下释放 RAM 资源? Mongo 的版本是 4.4。提前致谢。
【问题讨论】:
不直接... MongoDB 从不释放内存,它只是替换它或分配更多。 但是,如果您开始从磁盘数据中读取您需要的数据,那么该数据将取代那部分内存。 基本问题是 MongoDB 将始终使用(最终)所有可用内存,并尝试将所有活动数据保留在内存中。因此,从磁盘读取数据,使数据“活跃”,并会改变内存中磁盘缓存的内容。
【讨论】: