Windows Git Bash - ulimit - 打开文件过多

5

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

$ ulimit -n 9999

然而,我遇到了以下错误:

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

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

1个回答

6

你试图设置一个限制,这个限制太高了

从与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限制来说也太高了。如果我将我的命令行环境从Git Bash更改为Windows shell,是否有可能进行调整,以便打开文件的数量限制能达到5185或更多? - datinfo
你可以尝试使用MinGW/MSYS,它的Bash虽然比较老,但至少可以通过ulimit -n接受更高的数字——至于是否实际支持那么多文件,我不知道。如果从Windows shell (cmd.exe)运行是一个真正的选项——你的工具是本地的Windows应用程序吗?——那么根据这篇文章,听起来你有足够的句柄可用。 - mklement0

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