Я только что обновил Mac OS X до Yosemite, и теперь некоторые приложения не работают (IBM DB2). Я знаю, что мне нужно установить Открытые файлы на 65000, однако команда не работает.
Andress-MBP:~ root# ulimit -n 12288
Andress-MBP:~ root# ulimit -n 12289
-sh: ulimit: open files: cannot modify limit: Invalid argument
Почему это происходит и как я могу исправить проблему?
macos
ulimit
osx-yosemite
AngocA
источник
источник
Я вижу, вы задавали этот вопрос во всем.
Существует ограничение ядра, с которым вам приходится иметь дело, kern.maxfiles, который является пределом ядра и не может быть превышен при установке ulimit.
См. Страницу блога Krypted Maximum Files в Mac OS X для описания того, как управлять kern.maxifiles с помощью sysctl.
Я еще не загрузил Yosemite на свой Mac. В
sysctl -w kern.maxfiles=65000
работах по Mavericks, которая имеет то же kern.maxfiles = 12288 предела по умолчанию.Я проверил на своей VM OS X 10.6.8, и у нее было то же самое ограничение, которое поднимает вопрос о том, как она работала до вашей версии OS X.
Существует слайд-ресурс ( DB2 для Mac OS X Установка и настройка DB2 для Mac OS X ), показывающий рекомендуемые ограничения для использования DB2, см. Увеличение системных параметров на странице 7.
Похоже, вы потеряли свой
/etc/sysctl.conf
файл при обновлении.источник
sysctl(8)
происходит из BSD.В Mac OS 10.10 кажется, что настройка ulimit не может превышать настройку предела launchctl.
Таким образом, вы должны сначала запустить launchctl limit maxfiles в терминале, чтобы получить текущие настройки:
Так что в моем случае мягкое ограничение составляет 256, жесткое ограничение не ограничено. И затем, если я хочу установить мягкое ограничение на 512:
Подробное использование launchctl для установки ограничений можно найти здесь: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/launchctl.1.html
источник