【问题标题】:'Too many open files' error xcode“打开的文件太多”错误 xcode
【发布时间】:2015-10-02 15:52:17
【问题描述】:

这很奇怪。我完全不确定为什么会收到此错误。我已经删除了派生数据,但我不太确定这个错误来自哪里。

这是我第一次看到它。以前在运行模拟器时会出现,现在在手机上运行时会出现。

【问题讨论】:

  • 尝试在终端运行ulimit并显示结果
  • @Arsen 哇哦。我什至不能那样做。我已经发布了我在尝试打开上面的终端时遇到的错误。
  • 重启电脑然后回来:)
  • 这可能是由于递归错误而发生的。我还注意到某些路径中有空格字符,请确保它们被正确转义或引用。一般来说,如果在代码库中的文件名中避免空格,那么痛苦会减轻。
  • @Arsen 是的,重启有点帮助,但你的解决方案似乎让事情消失了。哇!谢谢。救生员。

标签: xcode file out-of-memory


【解决方案1】:

检查您是否有太多打开的模拟器。我关闭了所有模拟器,错误消失了

【讨论】:

  • 这也为我做了。我最近有一台单独的计算机来工作,它的 RAM 较少,并且可能缺少一些配置。我想这两件事中的一件与错误有关。
【解决方案2】:

我认为您刚刚达到了打开文件描述符的最大数量。

您可以通过以下方式检查限制

$ ulimit

并通过以下方式更改它:

$ ulimit -n 6666

但不要忘记ulimit 仅更改当前会话的限制。你必须把ulimit -n 6666.bash_profile 或类似的东西

【讨论】:

  • 嗯,在终端中运行 ulimit 说:unlimited。重启有帮助。
【解决方案3】:

检查您的 shell 可以打开的文件描述符的数量。大多数情况下,默认值为 256。

ulimit -a

要解决本地“打开文件过多”的问题,请增加每个 shell 可以打开的文件数:

ulimit -S -n 2048 #2048 works fine, or you may put other value.

如果仍然无法解决,可以通过以下方式检查系统设置:

sysctl kern.maxfiles sysctl kern.maxfilesperproc

如果您希望提高系统范围内的限制,请选择以下方法:

sysctl -w kern.maxfiles=20480 (or any number) sysctl -w kern.maxfilesperproc=18000 (or any number)

在命令开头使用sudo,以防您获得权限被拒绝。

为了使其成为永久设置,您需要在/etc/sysctl.conf 文件中添加或更改默认内核参数。

这个article解释了细节。

【讨论】:

    【解决方案4】:

    在模拟器上右击并在错误消失后按退出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-03
      • 2010-12-07
      • 1970-01-01
      • 2014-06-23
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多