Есть ли исправление для ошибки «Слишком много открытых файлов в системе» на OS X 10.7.1?

Мне нужно избавиться от надоедливого «Слишком много открытых файлов в системе» на OS X 10.7.1.

Есть ли способ?

7 Solutions collect form web for “Есть ли исправление для ошибки «Слишком много открытых файлов в системе» на OS X 10.7.1?”

Согласно этой полезной статье (которую я рекомендую прочитать):

По умолчанию максимальное количество файлов, которые может открыть Mac OS X, составляет 12 288, и максимальное количество файлов, которые может открыть данный процесс, составляет 10 240.

Вы можете проверить их следующим образом:

  • sysctl kern.maxfiles
  • sysctl kern.maxfilesperproc

Вы можете увеличить лимиты (на свой страх и риск):

  • sysctl -w kern.maxfiles=20480 (или любой другой номер, который вы выберете)
  • sysctl -w kern.maxfilesperproc=18000 (или любой другой номер, который вы выберете)

Чтобы сделать изменение постоянным, используйте sudo чтобы поместить свои настройки в /etc/sysctl.conf (который, возможно, вам придется создать), например:

 kern.maxfiles=20480 kern.maxfilesperproc=18000 

(Примечание: параметр в /etc/launchd.conf такой как limit maxfiles , переопределит все, что вы limit maxfiles здесь.)

Опять же, из статьи:

Как только вы это сделаете, у самого ядра будет максимальное количество файлов, но оболочка может не работать. И поскольку большинство процессов, которые будут обрабатывать эти много файлов, будут инициироваться оболочкой, которую вы собираетесь увеличить.

Команда для этого:

 ulimit -S -n 2048 # or whatever number you choose 

Это изменение также является временным; Он длится только для текущего сеанса оболочки. Вы можете добавить его в свой файл конфигурации оболочки ( .bashrc , .zshrc или что-то еще), если вы хотите, чтобы он запускался каждый раз, когда вы открываете оболочку.

Похоже, что существует совершенно другой способ изменения предела открытых файлов для каждой версии OS X!

Для OS X Sierra (10.12.X) вам необходимо:

1. Создайте файл в /Library/LaunchDaemons/limit.maxfiles.plist и вставьте следующее (не стесняйтесь изменять два числа (которые являются мягкими и жесткими пределами соответственно):

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>limit.maxfiles</string> <key>ProgramArguments</key> <array> <string>launchctl</string> <string>limit</string> <string>maxfiles</string> <string>64000</string> <string>524288</string> </array> <key>RunAtLoad</key> <true/> <key>ServiceIPC</key> <false/> </dict> </plist> 

2. Измените владельца нового файла:

 sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist 

3. Загрузите эти новые настройки:

 sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist 

4. Наконец, проверьте правильность лимитов:

 launchctl limit maxfiles 

Вам нужно будет увеличить свои настройки ulimit – на данный момент в OS X довольно мало – 256 по умолчанию. Добавьте ulimit -n 4096 или аналогично вашему ~ / .profile или эквивалентному, и это решит его в вашей локальной среде. Запустите ulimit -a чтобы проверить текущие уровни

Чтобы увидеть системные настройки, запустите это:

 launchctl limit maxfiles 

Он установлен немного выше в Lion (10240) на основе каждого процесса, чем раньше. Но если вы все еще нажимаете на него, вы можете установить его выше, используя ту же команду с желаемыми уровнями. Чтобы изменения были постоянными /etc/launchd.conf, вам нужно добавить соответствующие строки.

Люди, на Mavericks 10.9.4

ulimit -n 2048 отлично работает. Возможно, вам придется запустить новый сеанс входа в систему.

Другой вариант может найти виновника:

 sudo lsof -n | cut -f1 -d' ' | uniq -c | sort | tail 

Для последнего вы могли видеть, какие файлы открыты:

 sudo lsof -n | grep socketfil 

И убить процесс, если это необходимо

 kill $pid 

Я столкнулся с этим, выполняя chmod -R, поэтому я получил его, выполнив меньшие шаги, например

 # for each directory find . -type d -exec chmod 755 {} \; 

Вы можете запустить

 lsof -n 

Который обрабатывает слишком много файлов.

Затем убейте его.

или

 sysctl -w kern.maxfiles=20480 

Измените его на более крупный.

  • Сделайте быстрый просмотр OS X для пользовательских расширений файлов
  • Spotlight и команда locate не ищут * все * папки
  • Удалите все пользовательские папки, кроме одного при перезагрузке
  • Создайте ярлык для быстрого переключения пользователей в Mac OS X
  • Остановите запущенный процесс запуска на OS X Leopard
  • Как запустить SSH-сервер в Mac OS X?
  • Недорогое, простое приложение для записи экрана для Mac
  • Скопируйте копию Mac-диска, как это сделать?
  • Где находится JAVA_HOME на macOS Sierra (10.12), Эль Капитан (10.11), Йосемити (10.10), Маверикс (10.9), Горный лев (10.8) или Лекс OSX (10.7)?
  • Завершение вкладок, нечувствительных к регистру, в Bash
  • Что является хорошей альтернативой iDVD OneStep DVD для копирования видео с видеокамеры на DVD (в Mac OS X)?
  • Interesting Posts

    DVD-плеер Ubuntu 9.10

    Авторизация Google OAuth 2 – Ошибка: redirect_uri_mismatch

    Как исправить ошибку загрузчика Windows XP, когда BOOTCFG, FIXBOOT и FIXMBR ничего не делают?

    Маршрутизатор работает медленно, но быстро загружается

    Виртуальные хосты Apache2 не распознают должным образом

    Как я могу поместить int с ведущими нулями при использовании оператора cout <<?

    Почему программа под названием «C: \ Program» влияет на другие программы?

    Большая копия Win7 x64 Ошибка создания файла – Срок таймаута семафора истек

    Добавить свойство к объекту JavaScript, используя переменную в качестве имени?

    Файлы rsync более 1 недели

    Автоматическая синхронизация времени Windows чаще, чем по умолчанию.

    Создать имя 8.3 для существующего каталога

    Как я могу запустить стартапы и посмотреть, какие процессы занимают дольше всего?

    Могу ли я отражать / дублировать события мыши на обеих половинах экрана?

    Почему микрофонный звук не работает в одностороннем режиме в Google Hangouts в Windows 7 и Chrome

    Давайте будем гением компьютера.