Di recente sono passato da Mavericks a Yosemite ....
Sono abbastanza sicuro che il mio problema risieda con il numero di file che posso aprire , ma non sono sicuro di come risolverlo . Sono anche abbastanza sicuro di aver letto ogni articolo / suggerimento sulla creazione di /etc/sysctl.conf
file e /etc/launchd.conf
file
Per motivi di chiarezza questo è ciò che entrambi sembrano attualmente nb (non sono nemmeno sicuro che questi siano i comandi giusti per inserirli più - ho provato praticamente tutto e ogni combinazione. Vale a dire: valori più alti, valori più bassi , rimozione di comandi, aggiunta di comandi)
/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
Ho anche provato ad aumentare i miei valori ulimit - sia a livello globale che locale per la mia sessione corrente ... 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 - è qui che è iniziato il mio mal di testa ... Il mio DB (percona-server 5.6.21-69.0 installato tramite homebrew) ha iniziato a soffocare e morire, e nel mysql-error.log è stato riempito con l'errore 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
È qui che inizialmente ho iniziato a provare a risolvere quel problema "aggiornando" il mio ulimit, maxfile, maxproc, ecc ...
Alla fine, frustrato, sono passato e sarei tornato su questo problema in seguito. Quindi stavo cercando di farlo sudo gem install nokogiri
e ancora e ancora falliva e sputava questo stesso errore (molte ripetizioni sul builder.rb non riuscivano a costruire l'estensione nativa della gemma - seguita da un mucchio di stacktraces ripetute Logs Gist
Errori di installazione di nokogiri
Ho provato / cercato su Google un sacco di approcci diversi per risolvere questo problema (ad esempio: flag aggiuntivi, ecc.). Che cosa è incredibile - e quando ho iniziato a pensare che questo problema fosse legato al numero di file / processi aperti è quando ho controllato top
mentre la gemma stava installando ... Sono stato piuttosto sorpreso di vedere cosa ho trovato
top durante gem install nokogiri
Sembra che il mio processo continui a biforcarsi, il che ha poi senso per questa linea ONE nella mia immagine precedente (vedi "immagine degli errori di installazione di nokogiri")
sh: fork: Resource temporarily unavailable
Quindi ho un po 'di idee, ma non sono più sicuro di come eseguire il debug del numero di file?
AGGIORNARE
Bene, sono riuscito a installare nokogiri. Sfortunatamente, non sono esattamente sicuro di cosa abbia risolto il problema, ho provato così tante cose. Ma penso che abbia dovuto fare i conti con la reinstallazione di Ruby. Tuttavia, sto ancora riscontrando lo stesso problema con il mio DB che si lamenta di troppi file aperti quando utilizzo qualsiasi tipo di database che non è banalmente piccolo.