mongod,Mac OS X - rlimits 警告

174

我一直在我的Mac OS X 10.8上使用Mongo,但昨天突然出现了这个警告(在启动shell时也有)-

警告:软限制太低。文件数为256,应至少为1000

有谁能解释一下这是什么意思?我是否应该以某种方式增加 rlimits 的数量?


2
http://superuser.com/questions/261023/how-to-change-default-ulimit-values-in-mac-os-x-10-6 - Joachim Isaksson
请参阅http://docs.mongodb.org/manual/reference/ulimit/。 - assylias
@JoachimIsaksson 谢谢,但我想知道我是否真的需要增加它们? - Kosmetika
@Kosmetika 这取决于负载。我无法特别回答mongod,但是总的来说,数据库非常不喜欢耗尽文件描述符。 - Joachim Isaksson
2
在开发中,您应该保持ulimit非常低。设置较低的rlimit / ulimit可以帮助您检测是否未能关闭数据库连接。 - Mike Graf
1个回答

154

如果你是在mac上进行开发,很可能会使用mongodb。如果是这样,那么你可以忽略这个。


47
'rlimit'与分配给进程的内存量有关,这是操作系统的事情。在这种情况下,是为mongod进程分配内存。因此,MongoDB抱怨分配的内存较少,可能会导致速度变慢。我想在开发机器上这没问题。但如果你是在生产环境中读取这些内容,你绝对需要增加限制。 - Aniruddha
33
只需输入“ulimit -n 2048”或更高的数字,它就不会出现错误提示。 - ski_squaw
3
"ulimit -n 2048" 没有效果。 - Tvaroh
47
对于我来说确实如此。在启动服务器之前,您需要调用它:ulimit -n 2048 && mongod;此后,您应该不再看到错误信息。 - Christian Fritz
14
在我的情况下,我必须在启动 mongod 进程的 同一 终端标签页上执行 ulimit -n 2048 命令。貌似也需要重新启动它。在其他标签页上执行此命令无效。 - scaryguy
显示剩余9条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接