【问题标题】:Max open files per process每个进程的最大打开文件数
【发布时间】:2011-10-01 05:33:21
【问题描述】:

Mac OS X (10.6) 中每个进程的最大打开文件数是多少?

ulimit 表示比 256,sysctl 表示 10240,但我的测试程序可以创建 9469(在 gdb 下),10252(没有 gdb)文件..

【问题讨论】:

    标签: macos file max ulimit


    【解决方案1】:

    在我的 mac 上运行一些 python 脚本时遇到了一个相关错误。该错误抱怨打开文件的限制。

    看到ulimit -n告诉我256,我真的很惊讶。

    如果您最终解决了这个问题,下一步合乎逻辑的步骤是增加限制。

    如何提高限​​制

    为了补充 Dmitry 的回答,我将链接 following gist with the solution(在 Mac OSX Catalina 上为我工作)。

    上面链接的食谱将指导您如何增加限制。

    /Library/LaunchDaemons/limit.maxfiles.plist
    /Library/LaunchDaemons/limit.maxproc.plist
    

    应用load.sh 和系统rebot 后,我得到ulimit -n524288。这让python脚本很高兴。 GL!

    【讨论】:

      【解决方案2】:

      现在很清楚了。

      ulimit 命令是在 shell 中构建的。您可以使用 ulimit -n 命令为当前 shell(以及从该 shell 启动的每个程序)设置 maxfiles。

      10252 个文件 - 这是我的错误。当我从 shell 启动我的测试程序时,最多打开 253 个文件 (253 + stdin + stdout + stderr = 256)。

      9469 个文件 - 我的测试程序在 Xcode 下运行的结果,似乎 Xcode 在运行程序之前设置了 tha maxfiles。

      ulimit不是系统范围的设置,这就是为什么要为maxfiles设置系统范围的值,你必须使用launchctl(系统中的第一个进程,尝试'launchctl limit')或sysctl。

      答案是 256 个文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-12
        • 1970-01-01
        • 2017-05-10
        • 1970-01-01
        • 2011-08-03
        • 2019-06-24
        • 1970-01-01
        相关资源
        最近更新 更多