Closed borazslo closed 4 years ago
A "ne álljon le" talán jobb. A hiba talán: http://askubuntu.com/questions/181215/too-many-open-files-how-to-find-the-culprit
A max megnyitott fájlok száma 1024 volt eddig (ulimit -Hn
). És az aktuálisan megnyitott fájlok "nyugalmi állapotban" is elérték a 800-at (sudo lsof | wc -l
). Megemeltem jóval a limitet és máris 6900 körül mozog a megnyitott fájlok számossága.
Talán így stabil lesz, de azért nekem furcsa ez a hatalmas szám. Ha megnézem, hogy mi "fogyaszt" ennyit (sudo lsof | awk '{ print $1 " " $3 " (" $2 ")"; }' | uniq -c | sort -rn
) akkor ezt kapom:
COUNT COMMAND TID (PID)
192 mysqld mysql (2079)
192 mysqld 2734 (2079)
192 mysqld 2727 (2079)
192 mysqld 2594 (2079)
192 mysqld 2591 (2079)
192 mysqld 2574 (2079)
192 mysqld 2548 (2079)
192 mysqld 2225 (2079)
192 mysqld 2220 (2079)
192 mysqld 2207 (2079)
192 mysqld 2206 (2079)
192 mysqld 2205 (2079)
192 mysqld 2204 (2079)
192 mysqld 2103 (2079)
192 mysqld 2102 (2079)
192 mysqld 2101 (2079)
192 mysqld 2100 (2079)
192 mysqld 2099 (2079)
192 mysqld 2098 (2079)
192 mysqld 2097 (2079)
192 mysqld 2096 (2079)
192 mysqld 2095 (2079)
192 mysqld 2094 (2079)
133 apache2 www-data (3222)
133 apache2 www-data (3162)
133 apache2 www-data (3161)
132 apache2 www-data (3280)
132 apache2 www-data (3276)
132 apache2 www-data (3271)
132 apache2 www-data (3219)
132 apache2 www-data (3191)
132 apache2 www-data (2979)
132 apache2 www-data (2808)
130 apache2 root (2294)
129 master root (2501)
78 php szentiras_hu_git (2556)
78 php szentiras_hu_git (2554)
...
Az apache2 mindenféle lib-eket tart betöltve sokszorosan. A mysqld a sok-sok adattábla fájljait tartja betöltve de elég sokszor. Ha jól értelmezem, akkor ha éppen többen látogatnak az oldara, akkor ezek mind sokszorozódnak.
A limit most 16384. A legtöbbször 6000-9000 körül mozog a megnyitott fájlok száma. 2,5 nap után viszont így is leállt a sphinxsearch. (Amióta egy szerveren van a miserend.hu-val, azóta 1-4 naponta biztosan leáll. Főként mikor többen használják az oldalakat.) A logban továbbra is FATAL: accept() failed: Too many open files in system.
Berakom majd a /etc/supervisord/conf.d alá hogy legalább magától újrainduljon. De ez csak tüneti kezelés, lehet hogy csak rosszabb lesz tőle :) én úgy láttam, hogy a hiba esetén alig tudok a shellbe is belépni. Lehet, hogy igazából a deploy okozza, vagy súlyosbítja, amikor fut az npm install meg a composer meg minden
Olvasom,ez processz szintű. És hogy van, ahol lazán 64000et ajánlanak. Beállítod?
Beállítottam. (/etc/security/limits.conf
+ reboot
)
Köszi, én meg beraktam supervisord alá, reméljük a legjobbakat és tartsuk szemmel a logokat :) Egyelőre le is zárom.
Az elmúlt hetekben pár naponta újra meg-meghal a kereső. Kézzel indítottam újra mindig.
Egy ideje elég megbízhatóan működik.
A kereső kb. havonta / két havonta leáll és újra kell indítani:
searchd -c /etc/sphinxsearch/sphinx_production.conf