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

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

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

  • Как восстановить поврежденный файл Excel
  • Раздел Boot Camp для Windows 7 Не распознает полное дисковое пространство
  • Сделать mcrypt доступным для PHP 5.3 на Mac OS X 10.6
  • Файл автозапуска на USB-накопителе в OS X
  • Синхронизация контактных групп между Google и адресной книгой
  • Apple Mail не применяет правила, если я не выберу «Применить правила» вручную
  • Установка жесткого диска OSX на Linux
  • Загрузка содержимого файла с помощью CURL
  • 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 

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

    Interesting Posts

    Через некоторое время nslookup все еще работает, но pinging и автоматически обновленный веб-сайт

    Где находится Google Crash Dump Dump?

    Мой диск Western Digital 500GB Passport говорит «не отформатирован», когда я подключаю его в Windows

    Инициировать скрипты для каждого пользователя

    Как диагностировать повторное замораживание окон 7 (возвращается через несколько секунд)

    Проблема Grub с двойной загрузкой Ubuntu & XP (сначала установлен Ubuntu)

    Как заблокировать раздражающие facebook и другие виджеты социальной сети

    Доступ к веб-адресу через диалог запуска

    Windows может видеть принтер Ubuntu Server, но не может печатать на нем

    Почему у меня непоследовательные проблемы с сетью с помощью беспроводной сети моего ноутбука?

    Генерировать ключ аутентификации для ssh

    Как узнать, какой процесс соответствует значку в системном трее?

    Как переключить некоторые основные ключи в Windows (гостевой Windows VirtualBox на хосте OSX)

    Почему IEx64 не является значением по умолчанию для x64 Windows?

    Миниатюры панели задач Windows 7 не отображаются

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