【问题标题】:Windows Git Bash - ulimit - too many open filesWindows Git Bash - ulimit - 打开的文件太多
【发布时间】:2016-02-29 02:18:07
【问题描述】:

我想增加在 Windows 7(64 位)上打开文件的数量限制。在我的命令行环境中使用 Git Bash,我输入以下命令:

$ ulimit -n 9999

但是,我遇到以下错误:

bash: ulimit: open files: cannot modify limit: Too many open files

如果您能帮我解决这个问题,我将不胜感激。 提前感谢您的帮助。

【问题讨论】:

    标签: windows git bash ulimit


    【解决方案1】:

    您正在尝试设置的限制太高

    在 Bash 版本 4.3.42(5)-release 附带的 Git Bash 中,限制似乎是 3200

    $ ulimit -n 3200  # 3200 is the max. as of Git Bash 4.3.42(5)-release
    

    这个shell命令决定了你可以传递给ulimit -n的最大数字:

    $ for n in {9999..255}; do ulimit -n $n 2>/dev/null &&  echo $n && break; done
    3200
    

    请注意,一旦在给定会话中将限制设置为某个数字,您就不能再次降低限制。

    【讨论】:

    • 感谢您的回复。我的项目需要的实际值是 5185 个文件。但是,对于给定的 3200 限制,即使这个数字似乎也太高了。如果我将 Windows 7 上的命令行环境从 Git Bash 更改为 Windows shell,是否可以进行此类调整以使打开文件数的限制匹配 5185 或更大?
    • 你可以试试 MinGW/MSYS,它的 Bash - 虽然更老 - 至少 接受 更高的数字 ulimit -n - 是否有那么多文件实际上是 支持,我不知道。如果从 Windows shell (cmd.exe) 运行确实是一个选项 - 您的工具是原生 Windows 应用程序吗? - 那么,是的,根据this,听起来你有足够多的句柄可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2019-04-15
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 2018-12-14
    相关资源
    最近更新 更多