mongodb

При входе в консоль 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

Leave a Reply

Leave a Reply

Your email address will not be published. Required fields are marked *