【问题标题】:Increase rlimit Mac OSX 10.8增加ulimit Macos 10.8
【发布时间】:2013-04-11 02:49:22
【问题描述】:

我正在学习 MongoDB,当我启动 mongo shell 时,出现了一条狂野的警告消息。它说:

如何更改“软限制”。我使用的是 Mac OSX 10.8.2

提前发送

【问题讨论】:

  • 除非您使用大量数据文件/连接,否则此处的限制警告不会影响您。默认的 OS X 限制通常适用于学习或开发目的。
  • 你是对的,但是我不喜欢看到任何警告:)(即使在开发模式下)
  • @ingcarlos +1 因为我以为只有我一个 :-P

标签: macos mongodb osx-mountain-lion


【解决方案1】:

您要搜索的是launchctl limit maxfiles
例如,要更改它,您需要运行命令 launchctl limit maxfiles 1024 2048
要永久更改这些值,您需要创建 /etc/launchctl.conf 并在那里设置您需要的值(有关详细信息,请参阅here)或将上述命令添加到您的 ~/.bash_profile。
或者您可以创建设置限制的脚本,然后启动 mongo

【讨论】:

  • 这对我在 OSX 10.8.4 上不起作用。如果其他人遇到麻烦ulimit -n 1024 成功了
  • 以上命令需要以root身份执行(不是通过sudo)。
  • 我不建议将硬限制设置为 2048,它确实锁定了我的系统 (Yosemite)。愚蠢的我运行一个没有仔细检查的命令!运行“launchctl limit maxfiles”以查看当前限制,然后仅更改软限制,例如就我而言,我有“256 unlimited”(第一个是软的,第二个是硬的),所以我运行了“sudo launchctl limit maxfiles 1024 unlimited”。这实际上将它们设置为“1024 10240”。所以最后,对于我自己的运行 MongoDB 的用户来说,只使用“ulimit -n 1024”(没有 sudo)效果很好……听起来比更改系统范围的设置更好。
  • 只是说@Kamal 和@jwags 是对的,使用ulimit -n 1024 是首选;他们的 cmets 应该变成答案!
【解决方案2】:

如果您将 mongo 作为服务运行,则可以通过将下一行添加到

来配置最大打开文件数

/Library/LaunchDaemons/org.mongodb.mongod.plist

  <key>SoftResourceLimits</key>
  <dict>
    <key>NumberOfFiles</key>
    <integer>1024</integer>
  </dict>

然后重启服务

【讨论】:

【解决方案3】:

遇到过类似的问题,经过大量搜索,我发现this 的答案很有用。

本要点说明了如何通过专用启动文件以及仅会话更改来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 2020-04-07
    • 1970-01-01
    相关资源
    最近更新 更多