PDA

Bekijk Volledige Versie : Apache loopt regelmatig vast



tvdh
21/09/13, 12:39
Hallo,

Ik heb een DA server, deze heeft altijd goed gedraaid, echter komt het de laatste tijd voor dat apache niet meer bereikbaar is.
HTTP blijft draaien, maar de sites doen het niet meer. Na een reboot van Apache werkt alles weer.
De mogelijke verdachte is een wordpress site. De site is ca. 4mb om te laden en heeft zo'n 3000 unieke bezoekers per maand. Als deze site geopend wordt gebruikt apache ook een paar seconden 95% cpu. Zou het hier aan kunnen liggen?

[Thu Sep 19 14:18:05.130369 2013] [core:notice] [pid 21435] AH00052: child pid 25978 exit signal Aborted (6)
[Thu Sep 19 14:57:37.680280 2013] [core:notice] [pid 21435] AH00052: child pid 30663 exit signal Segmentation fault (11)
zend_mm_heap corrupted
[Thu Sep 19 18:22:11.820410 2013] [core:notice] [pid 21435] AH00052: child pid 8309 exit signal Segmentation fault (11)
[Thu Sep 19 20:50:20.255516 2013] [core:notice] [pid 21435] AH00052: child pid 19578 exit signal Segmentation fault (11)
[Thu Sep 19 21:07:18.324735 2013] [core:notice] [pid 21435] AH00052: child pid 21161 exit signal Segmentation fault (11)
[Thu Sep 19 21:58:19.624141 2013] [core:notice] [pid 21435] AH00052: child pid 24250 exit signal Segmentation fault (11)
[Thu Sep 19 22:31:17.789580 2013] [core:notice] [pid 21435] AH00052: child pid 22730 exit signal Segmentation fault (11)
zend_mm_heap corrupted
[Thu Sep 19 22:55:08.450957 2013] [mpm_prefork:emerg] [pid 27917] (13)Permission denied: AH00144: couldn't grab the accept mutex
[Thu Sep 19 22:55:08.456735 2013] [mpm_prefork:emerg] [pid 27865] (13)Permission denied: AH00144: couldn't grab the accept mutex
[Thu Sep 19 22:55:09.319593 2013] [core:alert] [pid 21435] AH00050: Child 27865 returned a Fatal error... Apache is exiting!

Iemand een advies wat te doen?

Groeten Tim

dennis0162
21/09/13, 12:52
http://help.directadmin.com/item.php?id=411

tvdh
21/09/13, 13:01
Zou dat ook de oplossing tegen het vastlopen zijn?

dreamhost_nl
21/09/13, 13:55
Ik zou zeggen: Probeert het eens. Het zijn niet echt grote ingrepen om aan te brengen en is zo weer teruggedraaid.

systemdeveloper
21/09/13, 14:25
Segfaults en mutex problemen zijn 2 verschillende dingen al kan een mutex issue wel optreden na een een segfault natuurlijk.

Segfaults krijg je meestal als je ergens een module hebt die niet correct is of buggie.
Omdat het niet bij elke 'hit' gebeurd, ligt dit probleem waarschijnlijk ergens waar je php veel ram gebruikt (denk ook aan cache modules zoals apc, eaccellerator, zend e.d.) en dat hun garbage collection dan ergens de mis in gaat of teveel tijd nodig heeft om te... uhh.. garbage collecten. :)

Als je opcode caches gebruikt, zet ze eens uit en kijk of het probleem nog steeds voorkomt. Eventueel kun je nog het aantal apache processen in de config limiteren tot een punt waarbij je gewoon altijd ram over hebt of minder requests per process toestaan zodat de garbage collection eerder gebeurd. Als het dan niet meer gebeurd is het waarschijnlijk ergens een memoryleak probleem.

SebastiaanStok
23/09/13, 09:05
Stel Apache in om een core dump te maken
http://httpd.apache.org/dev/debugging.html

Dan kan je aan de hand van die informatie achterhalen welke module het probleem precies veroorzaakt.
ulimit -c unlimited zou ik in deze situatie echter aan bevelen omdat je server dan helemaal in de soep loopt :pinch: