Hallo,
ich setze xampp1.4.4 auf Winodws 2000 ein. Auf dem System läuft eine php-Anwendung. Ich habe festgestellt, dass der Speicherverbrauch des Apache kontinuierlich ansteigt, und der einmal allozierte Speicher auch vom Apache nicht mehr freigegeben wird (selbst nachts, wenn keine User zugreifen).
Das geht so lange, bis folgende Meldung im error-Log auftaucht:
FATAL: emalloc(): Unable to allocate xxxxx bytes
oder auch
FATAL: erealloc(): Unable to allocate xxxxx bytes
Dann stirbt der Apache-Kindprozess und es wird ein neuer gestartet. Auszug aus dem Logfile:
[Mon Jul 12 18:22:34 2004] [notice] Parent: child process exited with status 1 -- Restarting.
[Mon Jul 12 18:22:44 2004] [notice] Parent: Created child process 1220
[Mon Jul 12 18:22:45 2004] [notice] Disabled use of AcceptEx() WinSock2 API
[Mon Jul 12 18:22:48 2004] [notice] Child 1220: Child process is running
[Mon Jul 12 18:22:48 2004] [notice] Child 1220: Acquired the start mutex.
[Mon Jul 12 18:22:48 2004] [notice] Child 1220: Starting 250 worker threads.
[Mon Jul 12 18:22:48 2004] [notice] Child 1220: Listening on port 443.
Dann geht das ganze Spiel wieder von vorne los.
Frage: Ist das normal?
Wenn nein, was kann ich tun um das zu debuggen?? Ich habe nirgendwo was dazu gefunden, auch nicht in den Apache- oder php-Mailinglisten.
Weiterhin habe ich das Problem, dass auf einem Server sich das so darstellt, dass nach der "emalloc-"Fehlermeldung zwar auch die o.g. Einträge im errorlog stehen, d.h. es sieht so aus, als ob der Apache den Kindprozess neu starte, aber der Server NIMMT KEINE REQUEST MEHR AN, bis man den Apache-Service von Hand neu startet.
Kann mir hier bitte jemand weiterhelfen? Kennt jemand vielleicht einen Workaround, wenn nicht die Lösung?