Как изменить значения ulimit по умолчанию в Mac OS X 10.6?


42

Mac OS X ограничивает число процессов 266 и открывает файлы 256. Иногда это является проблемой; 256 открытых файлов и 266 процессов не так много.

Как можно изменить значения ulimit по умолчанию в Mac OS X 10.6.7?

(Надеюсь, нет никакой разницы между 10.6.7 и другими выпусками Snow Leopard.)

Связанный вопрос в serverfault. К сожалению, ответ для Mac OS X 10.5, и он не работает в 10.6.


Для быстрого изменения: ulimit -n 1024. Но это не меняет значение по умолчанию.
Cœur

Ответы:


47

launchctl имеет контроль над этим сейчас.

Вы можете сделать

launchctl limit maxfiles 2048 2048 

установить мягкие и жесткие ограничения на максимальное количество открытых файлов. Для получения дополнительной информации см. Раздел «Лимит»:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/launchctl.1.html


1
Это все еще работает в OS X 10.9
Olli

Я бегу 10.9.4 и когда я launchctl limit maxfiles 2048 2048и mongoя все еще получаю soft rlimits too lowошибку. Что-нибудь еще я могу попробовать?
Райан

после изменения лимита с помощью sudo launchctl и т. д. затем закройте / откройте терминал и установите ulimit -n 2048. на этот раз он должен работать. проверьте это с помощью ulimit -n
chrismarx

4
После выполнения 'launchctl limit maxfiles 2048 2048' на моем Mac появилось «слишком много открытых файлов», когда я пытался что-то сделать в оболочке, и приложения Cocoa показывали пустые меню. Система была в значительной степени поджарена. Перезагрузка к счастью исправила это.
Грэм Уилер

3
Не запускайте эту команду в macOS Sierra. Правильная команда будет, launchctl limit maxfiles 2048 unlimitedхотя я бы посоветовал просмотреть ваши текущие настройки launchctl limit maxfilesперед этим, иначе вы полностью заблокируете свой компьютер.
snowe2010

8

Есть ответ на StackOverflow для этого. Видимо, ulimitделает это сейчас.


1
Вы можете изменить значения с помощью ulimit, но они не сохраняются. Связанные сообщения не включают в себя способ сохранить значения по умолчанию.
Олли

3
Быстрое исправление: отредактируйте ваш ~ / .bash_profile и добавьте его в строку: ulimit -n 1024 (конечно, используя любое
нужное

2
@PapaFreud Выполняется только при открытии терминала / bash. Не все программы выполняются с терминала.
Олли

1

FYI.

.bash_profile обновление не помогло мне для ОС v10.10.3, но переустановка NodeJS с 0.10.35 до 0.12.3 помогла мне, и ошибка исчезла.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.