Есть ли исправление для ошибки «Слишком много открытых файлов в системе» на 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 

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

  • Показать повторяющиеся файлы
  • Сохранять строку меню даже в полноэкранном режиме?
  • Каков хороший способ заставить Mac отключиться без доступа к монитору или удаленной логике?
  • Быстрый VNC от Windows до Mac?
  • Скопировать структуру каталогов без копирования файлов в Mac OS X
  • Как я могу остановить OSX от объединения пробелов, когда я отключу монитор?
  • Настройка сети adhoc в Windows Vista для подключения к Интернету и совместного использования с Mac OS X
  • Как заставить Safari открывать результаты поиска на новой вкладке по умолчанию?
  • Проблемы с запуском некоторых приложений на Mac, отсутствие сообщения об ошибке
  • Является ли X11 стандартным приложением для отображения на Mac OS X?
  • Как установить Mac OS X 10.6 Snow Leopard в VMWare?
  • 403 Запрещенная ошибка в Mac OS X Localhost
  • Interesting Posts

    Изменение адреса From в Thunderbird

    Chrome: Ctrl-K для поиска в Google и Ctrl-L для меня, я чувствую себя счастливым

    Разрешения по умолчанию для FTP-загрузок в ubuntu (vsftpd)

    Мониторинг полосы пропускания в персональной сети

    Аппаратное ускорение VT-x / AMD-V недоступно в вашей системе

    Изменение имен оптических дисков в Windows 7

    Sony Vaio (VPCEB34EN) не загружается, отображается черный экран. Светодиод питания остается зеленым

    Как новый Backup and Sync обрабатывает существующих пользователей Google Диска?

    Как включить автоматическую загрузку недавно установленных приложений Metro?

    Рекурсивные перемещения файлов определенного типа на определенный путь

    Сделайте аккорд USB-накопителя, как компакт-диск

    Почему у меня меньше памяти с 32-разрядной ОС

    Может ли Mozilla Thunderbird отправлять отправленные ответы в виде потока?

    Экспорт настроек быстрого набора из Firefox в Chrome Быстрый набор

    Поиск команд меню в Windows 7

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