我在具有 10GB 存储空间和 1GB RAM 的云服务器上使用 MongoDB。将大约 4.4 GB 的数据导入 MongoDB 数据库后,每当我在命令行上键入“mongo”以测试某些查询时,服务器都会冻结。我可以删除对 MongoDB 的内存资源分配的上限吗?还是仅仅是增加 RAM 的问题?
问问题
1864 次
1 回答
1
MongoDB 使用由操作系统分配的内存映射文件。这意味着没有可以释放的特定资源来为 Mongo 控制台运行腾出更多空间。
关于您的环境,有几件事需要注意。首先,对于已加载的数据量,您拥有的 RAM 量偏小。MongoDB 将尝试将尽可能多的工作集保留在内存中,以避免页面错误,因为磁盘查找是性能的真正杀手。其次,加载数据时会进行一些初始工作,这可能会影响性能。
您可以查看 Wiki 页面Checking Server Memory Usage以获取有关 Mongo 正在使用多少内存的信息,以及有关 Mongo 内存使用情况的一般信息。
能否尝试从另一台机器连接到 MongoD,从而减轻 DB Server 的负担?
于 2012-08-02T01:44:03.607 回答