Niedawno przeszedłem z Mavericks do Yosemite ... wystąpiły bóle głowy
Jestem prawie pewien, że mój problem dotyczy liczby plików, które mogę otworzyć - ale nie jestem pewien, jak go rozwiązać . Jestem też całkiem pewien, że przeczytałem każdy artykuł / wskazówkę dotyczącą tworzenia /etc/sysctl.conf
pliku i /etc/launchd.conf
pliku
Dla jasności oba wyglądają obecnie jak nb (nie jestem nawet pewien, czy są to właściwe polecenia, aby je w nich umieścić - próbowałem prawie wszystkiego i każdej kombinacji, tj .: wyższe wartości, niższe wartości , usuwanie poleceń, dodawanie poleceń)
/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
Próbowałem również zwiększyć moje wartości ulimit - zarówno globalnie, jak i lokalnie dla mojej bieżącej sesji ... 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 - tu zaczyna się mój ból głowy ... Moja baza danych (serwer Percona 5.6.21-69.0 instalowany przez homebrew) zaczęła się dusić i umierać, aw mysql-error.log została wypełniona z błędem 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
To tutaj początkowo zacząłem próbować rozwiązać ten problem poprzez „podniesienie” moich ulimit, maxfiles, maxproc itp.
W końcu - sfrustrowany, przeszedłem i wrócę do tego problemu później. Więc wtedy próbowałem sudo gem install nokogiri
w kółko, to się nie udało i wyplułem ten sam błąd (wiele powtórzeń o builder.rb nie udało się zbudować natywnego rozszerzenia gem - a następnie kilka powtarzających się stosów śledzenia Logs Gist
Błędy instalacji nokogiri
Próbowałem / przeszukałem kilka różnych podejść do rozwiązania tego problemu (tj .: dodatkowe flagi itp.). To niesamowite - i kiedy zacząłem myśleć, że ten problem jest związany z liczbą otwartych plików / procesów, sprawdziłem, top
kiedy klejnot się instalował .... Byłem bardzo zaskoczony, gdy zobaczyłem, co znalazłem
top podczas gem install nokogiri
Wygląda na to, że mój proces wciąż się rozwidla, co miało sens dla JEDNEJ linii na moim poprzednim obrazie (patrz „obraz błędów instalacji nokogiri”)
sh: fork: Resource temporarily unavailable
Więc mam trochę pomysłów, ale nie jestem pewien, jak debugować # plików?
AKTUALIZACJA
Udało mi się zainstalować nokogiri. Niestety, nie jestem do końca pewien, co to naprawiło b / c Próbowałem tak wielu rzeczy. Ale myślę, że to musiało poradzić sobie z ponownym instalowaniem ruby. Nadal jednak pojawia się ten sam problem, gdy moja baza danych narzeka na zbyt wiele otwartych plików, gdy korzystam z bazy danych, która nie jest trywialnie mała.