← Назад к статьям

MongoDB лимиты операционной системы

M
miholeus
4 августа 2015 г. · 1 мин чтения

При входе в консоль mongo можно увидеть такое сообщение

WARNING: soft rlimits too low. Number of files is 256, should be at least 1000

Если для Linux систем все решается простым ulimit -n <число>, то для Mac OS X Yosemite параметры поменялись.

Понадобится поменять 2 файла

sudo vi /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>2048</string>
<string>65536</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>

И второй файл

sudo vi /Library/LaunchDaemons/limit.maxproc.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.maxproc</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxproc</string>
<string>2048</string>
<string>2048</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>

Проверьте права на файлы root:wheel и 644. Таким образом мы установили системные лимиты. Сессионные же лимиты устанавливаются как обычно

ulimit -n 65536 ulimit -u 2048

Системные настройки вступят в силу после перезагрузки системы. Если вы хотите, чтобы изменения были только в рамках текущей сессии, то можно ввести команды

sudo launchctl limit maxfiles 65536 65536 sudo launchctl limit maxproc 2048 2048 ulimit -n 65536 ulimit -u 2048

Комментарии 0

Комментарии проходят модерацию
Загрузка комментариев...