【发布时间】: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 7(64 位)上打开文件的数量限制。在我的命令行环境中使用 Git Bash,我输入以下命令:
$ ulimit -n 9999
但是,我遇到以下错误:
bash: ulimit: open files: cannot modify limit: Too many open files
如果您能帮我解决这个问题,我将不胜感激。 提前感谢您的帮助。
【问题讨论】:
您正在尝试设置的限制太高。
在 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
请注意,一旦在给定会话中将限制设置为某个数字,您就不能再次降低限制。
【讨论】:
ulimit -n - 是否有那么多文件实际上是 支持,我不知道。如果从 Windows shell (cmd.exe) 运行确实是一个选项 - 您的工具是原生 Windows 应用程序吗? - 那么,是的,根据this,听起来你有足够多的句柄可用。