Як змінити значення 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.)

Пов'язане запитання на сервері за замовчуванням. На жаль, відповідь на Mac OS X 10.5, і він не працює в 10.6.


Для швидкої зміни: ulimit -n 1024. Але це за замовчуванням не змінює.
Cœur

Відповіді:


47

startctl має контроль над цим зараз.

Ви можете зробити

launchctl limit maxfiles 2048 2048 

встановити м'які та жорсткі межі для максимального відкриття файлів. Для отримання додаткової інформації дивіться розділ "обмеження":

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


1
Це все ще працює в ОС X 10.9
Оллі

Я працюю 10.9.4, і коли я launchctl limit maxfiles 2048 2048і mongoя все ще отримую soft rlimits too lowпомилку. Що ще я можу спробувати?
Райан

після зміни ліміту sudo startctl тощо, потім закрийте / відкрийте термінал і встановіть ulimit -n 2048. цього разу він повинен працювати. перевірити це з ulimit -n
chrismarx

4
Після того, як я зробив 'startctl limit maxfiles 2048 2048', я отримав 'занадто багато відкритих файлів' на своєму Mac, коли я намагався зробити що-небудь в оболонці, і програми какао показували порожні меню. Система була досить сильно підсмажена. Перезавантаження вдячно виправила це.
Грем Уілер

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

8

Відповідь на StackOverflow є для цього. Мабуть ulimit, це робить і зараз.


1
Ви можете змінювати значення за допомогою ulimit, але це не економить. Пов’язана публікація не містить жодного способу збереження значень за замовчуванням.
Оллі

3
Швидке виправлення: відредагуйте свій ~ / .bash_profile і додайте це у рядку: ulimit -n 1024 (звичайно, використовуючи будь-яке число)
PapaFreud

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.