Я недавно перешел с Маверикс на Йосемити .... начались головные боли
Я почти уверен, что моя проблема связана с количеством файлов, которые я могу открыть, но я не знаю, как ее решить. Я также уверен, что прочитал каждую статью / совет о создании файла /etc/sysctl.conf
и файла /etc/launchd.conf
Для ясности это то, что они оба в настоящее время выглядят как нб (Я даже не уверен, что это правильные команды, чтобы вставить их больше - я попробовал почти все и каждую комбинацию. То есть: более высокие значения, более низкие значения, удаление команд, добавление команд)
/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-server 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. К сожалению, я не совсем уверен, что это исправить, потому что я пробовал так много вещей. Но я думаю, что это было дело w/ переустановка ruby. Тем не менее, я все еще получаю ту же проблему с моей БД, жалуясь на слишком много открытых файлов, когда я использую какую-либо базу данных, которая не является достаточно маленькой.