Я недавно перешел с Маверикс на Йосемити .... начались головные боли
Я уверен , что моя проблема лежит ж / количество файлов , я могу открыть - но я не знаю , как ее решить . Я также уверен, что прочитал каждую статью / совет о создании /etc/sysctl.conf
файла и /etc/launchd.conf
файла
Для ясности это то, что они оба в настоящее время выглядят как nb (я даже не уверен, что это правильные команды для их добавления - я пробовал практически все и каждую комбинацию. Т.е.: более высокие значения, более низкие значения , удаление команд, добавление команд)
/etc/launchd.conf
limit maxfiles 16384 32768
limit maxproc 1000 2000
/etc/sysctl.conf
# Turn up maxproc
kern.maxproc=2048
# Turn up the maxproc per user
kern.maxprocperuid=512
Я также попытался увеличить свои значения ulimit - как глобально, так и локально для моей текущей сессии ... no bueno
ulimit -a
-t: cpu time (seconds) unlimited
-f: file size (blocks) unlimited
-d: data seg size (kbytes) unlimited
-s: stack size (kbytes) 8192
-c: core file size (blocks) 0
-v: address space (kbytes) unlimited
-l: locked-in-memory size (kbytes) unlimited
-u: processes 709
-n: file descriptors 4096
Хорошо - это то, где моя головная боль первоначально началась ... Моя БД (percona-сервер 5.6.21-69.0, установленный через homebrew) начала задыхаться и умирать, и в mysql-error.log она была заполнена ошибкой too many files open
.
2014-10-21 15:19:50 5190 [ERROR] /usr/local/Cellar/percona-server/5.6.21-69.0/bin/mysqld: Can't open file: './ie/tokenorder_products.frm' (errno: 24 - Too many open files)
2014-10-21 15:19:50 5190 [ERROR] /usr/local/Cellar/percona-server/5.6.21-69.0/bin/mysqld: Can't open file: './ie/tokenorders.frm' (errno: 24 - Too many open files)
2014-10-21 15:19:50 5190 [ERROR] /usr/local/Cellar/percona-server/5.6.21-69.0/bin/mysqld: Can't open file: './ie/tsdevices.frm' (errno: 24 - Too many open files)
2014-10-21 15:19:50 5190 [ERROR] /usr/local/Cellar/percona-server/5.6.21-69.0/bin/mysqld: Can't open file: './ie/tsracks.frm' (errno: 24 - Too many open files)
2014-10-21 15:19:50 5190 [ERROR] /usr/local/Cellar/percona-server/5.6.21-69.0/bin/mysqld: Can't open file: './ie/v_classunity_classlist.frm' (errno: 24 - Too many open files)
2014-10-21 15:20:48 5190 [ERROR] Error in accept: Too many open files
Именно здесь я и начал пытаться решить эту проблему, подняв мой ulimit, maxfiles, maxproc и т. Д.
В конце концов - расстроенный, я пошел дальше и вернусь к этому вопросу позже. И тогда я пытался sudo gem install nokogiri
снова и снова, он потерпел бы неудачу и выплюнул ту же самую ошибку (множество повторений о том, что builder.rb не может создать собственное расширение gem - сопровождается кучей повторяющихся стековых трасс Logs Gist
Ошибки установки nokogiri
Я пробовал / гуглил несколько разных подходов для решения этой проблемы (например: дополнительные флаги и т. Д.). Что удивительно - и когда я начал думать, что эта проблема связана с количеством открытых файлов / процессов, это когда я проверял top
во время установки гема ... Я был очень удивлен, увидев то, что нашел
топ во время gem install nokogiri
Похоже, мой процесс продолжает разветвляться, что тогда имело смысл для этой ОДНОЙ строки в моей предыдущей картинке (см. «Nokogiri install errors picture»)
sh: fork: Resource temporarily unavailable
Так что у меня нет идей, но я не совсем уверен, как отладить количество файлов?
ОБНОВИТЬ
Ну, мне удалось установить nokogiri. К сожалению, я не совсем уверен, что это исправить, потому что я много раз пробовал. Но я думаю, что пришлось иметь дело с переустановкой ruby. Тем не менее, я все еще получаю ту же проблему с моей БД, жалуясь на слишком много открытых файлов, когда я использую какую-либо базу данных, которая не является достаточно маленькой.