最近、マーベリックスからヨセミテにアップグレードしました。
私は、W /私は開くことができるファイルの数はかなり確信して私の問題の嘘だ - しかし、私はそれを解決するかどうかはわかりません。/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
OK-これは私の頭痛が最初に始まった場所です...私のDB(homebrewを介してインストールされたpercona-server 5.6.21-69.0)が窒息して死に始め、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のインストール中にチェックしたときです....私が見つけたものを見て驚いた
中にトップ gem install nokogiri
私のプロセスは分岐し続けているように見えますが、それは前の写真のこの1行に意味がありました(「nokogiri install errors picture」を参照)
sh: fork: Resource temporarily unavailable
だから私はちょっとアイデアから外れていますが、ファイルの数をもうデバッグする方法が本当にわかりませんか?
更新
まあ、私はノコギリをインストールすることができました。残念ながら、何がそれを修正したのか正確にはわかりません。しかし、ルビーを再インストールすることで対処しなければならなかったと思います。しかし、些細ではない任意の種類のデータベースを使用すると、開いているファイルが多すぎると不平を言っているのに、同じ問題が引き続き発生します。