Ich habe kürzlich ein Upgrade von Mavericks auf Yosemite durchgeführt. Es traten Kopfschmerzen auf
Ich bin mir ziemlich sicher, dass mein Problem in der Anzahl der Dateien liegt, die ich öffnen kann - aber ich bin nicht sicher, wie ich es lösen soll . Ich bin mir auch ziemlich sicher, dass ich alle Artikel / Tipps zum Erstellen der /etc/sysctl.conf
Datei und der /etc/launchd.conf
Datei gelesen habe
Der Übersichtlichkeit halber sehen beide derzeit so aus (ich bin mir nicht einmal sicher, ob dies die richtigen Befehle sind, um sie wieder einzufügen - ich habe so gut wie alles und jede Kombination ausprobiert, dh höhere Werte, niedrigere Werte , Befehle entfernen, Befehle hinzufügen)
/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
Ich habe auch versucht, meine ulimit-Werte zu erhöhen - sowohl global als auch lokal für meine aktuelle Sitzung ... 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 - hier begannen meine Kopfschmerzen anfangs ... Meine über Homebrew installierte Datenbank (Percona-Server 5.6.21-69.0) begann zu ersticken und zu sterben, und im mysql-error.log wurde sie mit dem Fehler gefüllt 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
Dies ist, wo ich anfänglich versuchte, dieses Problem zu lösen, indem ich mein ulimit, maxfiles, maxproc, etc ... "auffrischte".
Schließlich - frustriert, ging ich weiter und würde später auf dieses Thema zurückkommen. Also habe ich immer wieder versucht, dass sudo gem install nokogiri
es fehlschlägt und denselben Fehler ausspuckt (viele Wiederholungen, dass builder.rb die native gem-Erweiterung nicht erstellt - gefolgt von einer Reihe wiederholter Stacktraces Logs Gist
nokogiri Installationsfehler
Ich habe verschiedene Ansätze ausprobiert / gegoogelt, um dieses Problem zu lösen (z. B. zusätzliche Flags usw.). Was erstaunlich ist - und als ich anfing zu denken, dass dieses Problem mit der Anzahl der geöffneten Dateien / Prozesse zusammenhängt, habe ich überprüft, top
während der Edelstein installiert wurde ... Ich war ziemlich überrascht zu sehen, was ich gefunden habe
oben während gem install nokogiri
Es sieht so aus, als würde sich mein Prozess weiter verzweigen, was dann für diese EINE Zeile in meinem vorherigen Bild Sinn machte (siehe "nokogiri install errors picture").
sh: fork: Resource temporarily unavailable
Ich habe keine Ideen mehr, bin mir aber nicht mehr sicher, wie ich die Anzahl der Dateien debuggen soll?
AKTUALISIEREN
Nun, ich habe es geschafft, Nokogiri zu installieren. Leider bin ich mir nicht ganz sicher, was das Problem behoben hat. Ich habe so viele Dinge ausprobiert. Aber ich denke, es musste mit der Neuinstallation von Ruby klappen. Es tritt jedoch immer noch das gleiche Problem auf, bei dem sich meine Datenbank über zu viele geöffnete Dateien beschwert, wenn ich eine nicht trivial kleine Datenbank verwende.