Windows Git Bash — ulimit — слишком много открытых файлов

Я хотел увеличить лимит на количество открытых файлов в Windows 7 (64-бит). Используя Git Bash для моей среды командной строки, я ввожу следующую команду:

$ ulimit -n 9999

Однако я сталкиваюсь со следующей ошибкой:

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

Я был бы признателен, если бы вы могли помочь мне с этой проблемой. Спасибо заранее за помощь.


person datinfo    schedule 29.02.2016    source источник
comment
Если ответ решает вашу проблему, примите его, нажав большую галочку (✓) рядом с ним, и, при желании, также проголосуйте за него (для этого требуется не менее 15 очков репутации). Если вы нашли другие ответы полезными, пожалуйста, проголосуйте за них. Принятие и голосование помогает будущим читателям. См. соответствующую статью справочного центра. Если на ваш вопрос еще нет полного ответа, оставьте отзыв.   -  person mklement0    schedule 09.07.2016


Ответы (1)


Вы пытаетесь установить слишком высокий лимит.

Что касается Git Bash, который поставляется с версией Bash 4.3.42(5)-release, ограничение составляет 3200:

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

Эта команда оболочки определяет максимальное число, которое вы можете передать ulimit -n:

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

Обратите внимание, что вы не можете снова понизить предел после того, как установили его на определенное число в данном сеансе.

person mklement0    schedule 29.02.2016
comment
Благодарю за ваш ответ. Фактическое значение, которое мне нужно для моего проекта, составляет 5185 файлов. Однако оказывается, что даже это число слишком велико для заданного лимита в 3200. Если бы я изменил свою среду командной строки в Windows 7 с Git Bash на оболочку Windows, можно ли было бы сделать такую ​​настройку, чтобы ограничение на количество открытых файлов соответствовало 5185 или больше? - person datinfo; 29.02.2016
comment
Вы можете попробовать MinGW/MSYS, чей Bash, хотя и намного старше, по крайней мере, принимает гораздо более высокие числа с ulimit -n — действительно ли такое количество файлов поддерживается, я не знаю. знать. Если запуск из оболочки Windows (cmd.exe) действительно возможен, являются ли ваши инструменты собственными приложениями Windows? - тогда да, похоже, у вас более чем достаточно дескрипторов, согласно это. - person mklement0; 29.02.2016