Как изменить значения 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 помогла мне, и ошибка исчезла.

Андрей Лундиак
источник