gpt4 book ai didi

MongoDB 错误 : couldn't connect to server . .. 在 createPrivateMap 中打开/创建失败

转载 作者:可可西里 更新时间:2023-11-01 09:46:13 25 4
gpt4 key购买 nike

由于内存不足,mongod 自动关闭。 (Debian)

~# reboot
~# mongo
MongoDB shell version: 2.0.6
connecting to: test
Thu Aug 2 13:12:26 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:8 4
exception: connect failed
~# mongo 127.0.0.1:27017
MongoDB shell version: 2.0.6
connecting to: 127.0.0.1:27017/test
> use database
> db.repairDatabase()
{
"errmsg" : "exception: file /var/lib/mongodb/$tmp_repairDatabase_0/datab ase.1 open/create failed in createPrivateMap (look in log for more information)" ,
"code" : 13636,
"ok" : 0
}
  1. Error: couldn't connect to server ...配置错误,你不知道为什么?
  2. /var/lib/mongodb/$tmp_repairDatabase_0 和/var/lib/mongodb/_tmp 一个临时文件夹?我可以删除它们吗?

数据库运行良好,但我担心会发生与一周前我的基地相同的事情。我不得不完全重新安装 mongodb。 link

更新:

只是增加了服务器上的 RAM 大小并执行了高达 3Gb 的 db.repairDatabase () - 一切顺利。

问题是内存不足。 (内存映射文件)没有启动 mongod - 占用了 136Kb 的内存。启动 mongod 后 - 1100Kb 内存被占用。在我的数据库对象 1165916 中。创建的对象越大,占用的内存就越多。如何减少mongodb内存的消耗?还是唯一的出路 - 更多内存?

最佳答案

我认为这与您之前的问题有着相同的根本原因 - 缺乏资源。您在之前的消息中指出您只有 ~1.4GB 的内存,在这种情况下,当您分配了更多内存时修复成功。一次修复必须遍历并重写整个数据集,因此会很密集。

这里详细描述了MongoDB是如何使用内存的:

http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage

不要忘记,您在 RAM 中的工作集包括索引和数据,因此这不仅仅是对象数量的问题。

如果您的工作数据集大部分时间都应该在 1.4GB 以内,那么您可能不需要额外的 RAM,但是,当它超过这些限制时,您将不得不配置一些交换(以避免OOM Killer 和其他问题 - 请参阅 herehere 了解更多信息)。在不增加 RAM 的情况下,准备好让这样的使用速度也很慢。在上一期中,您没有配置交换 - 如果您执行消耗所有可用内存的操作(如修复),操作系统将无处可去。

关于初始连接失败,我相信如果没有指定参数,它可能会尝试默认连接 localhost:27017(而不是 IP)- 是否有可能是您的 /etc/hosts 文件返回 IPV6 地址或类似内容。如果您尝试手动连接到本地主机,您会失败吗?

关于MongoDB 错误 : couldn't connect to server . .. 在 createPrivateMap 中打开/创建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11775078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com