Ограничение на открытие файлов не работает как раньше в OSX Yosemite [дубликат]

этот вопрос уже есть ответ здесь:

Я только что обновил 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

почему это происходит и как я могу исправить эту проблему?

6
задан AngocA
19.04.2023 8:47 Количество просмотров материала 2901
Распечатать страницу

3 ответа

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

для OS X Sierra (10.12.Х) нужно:

  1. In /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
    
22
отвечен ninjaPixel 2023-04-20 16:35

Я вижу, вы задали этот вопрос повсюду.

есть предел ядра вам придется заниматься, Керн.maxfiles, который является пределом ядра и не может быть превышен при установке ulimit.

посмотреть блог Krypted страницы максимальное количество файлов в Mac OS X для описания того, как манипулировать Керном.maxifiles с помощью sysctl.

Я еще не загрузил Yosemite на свой Mac. The sysctl -w kern.maxfiles=65000 работает на Mavericks, который имеет тот же kern.maxfiles=12288 предел по неисполнение.

Я проверил свою VM OS X 10.6.8, и у нее был тот же предел, который вызывает вопрос о том, как он ранее работал до вашей версии OS X.

есть доля скольжения (DB2 for Mac OS X установка и настройка DB2 for Mac OS X) показ рекомендуемых ограничений для использования DB2, см. Увеличить Системные Параметры Страница 7.

Увеличить Системные Параметры

открыть /и т. д./sysctl.conf (или создайте его, если он еще не существует) и вставьте следующие настройки. Эти параметры увеличивают некоторые параметры общей памяти и ограничения пользователей, необходимые DB2 для работы на Mac.

добавьте в /etc/sysctl следующее.conf

керн.с SysV.shmmax=1073741824

керн.с SysV.shmmin=1

керн.с SysV.shmmni=4096

керн.с SysV.shmseg=32

керн.с SysV.shmall=1179648

керн.maxfilesperproc=65536

керн.maxfiles=65536

похоже, вы потеряли /etc/sysctl.conf файл при обновлении.

19
отвечен user187561 2023-04-20 18:52

в Mac OS 10.10 кажется, что параметр ulimit не может превышать ограничение launchctl.

таким образом, вы должны сначала запустить launchctl ограничить maxfiles в терминале, чтобы получить текущую настройку:

launchctl limit maxfiles
maxfiles    256            unlimited 

Так что в моем случае мягкий предел 256, жесткий предел не ограничен. И затем, если я хочу установить мягкий предел 512:

sudo launchctl limit maxfiles 512 unlimited

подробное использование launchctl для установки ограничений можно найти здесь: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/launchctl.1.html

12
отвечен imadcat 2023-04-20 21:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх