Fatal error: Out of memory - Apache hängt sich auf - Bug?

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Fatal error: Out of memory - Apache hängt sich auf - Bug?

Postby actionman007 » 06. April 2009 08:07

Hallo zusammen,

seit einiger Zeit (3-4 Wochen), taucht in unserer error.log immer wieder diese Fehlermeldung auf (dauert 1-3 Tage bis die Meldung wieder auftaucht und das System lahm gelegt wird):

[Sun Apr 05 21:30:40 2009] [error] [client 84.56.60.156] PHP Fatal error: Out of memory (allocated 1310720) (tried to allocate 1572864 bytes) in C:\\MEIN_PFAD\formation.asp on line 1545, referer: http://www.MEINE_DOMAIN.org/matches.asp ... amID=12116
[Sun Apr 05 21:30:42 2009] [error] [client 78.94.194.96] PHP Fatal error: Out of memory (allocated 1310720) (tried to allocate 1572864 bytes) in C:\\MEIN_PFAD\showPlayerDetails.asp on line 1739, referer: http://www.MEINE_DOMAIN.org/transfers.asp
[Sun Apr 05 21:30:43 2009] [error] [client 217.230.3.236] PHP Fatal error: Out of memory (allocated 1310720) (tried to allocate 1572864 bytes) in C:\\MEIN_PFAD\conference.asp on line 1910, referer: http://www.MEINE_DOMAIN.org/newLeftfram ... wMenu=club


Wäre es die Meldung alleine, wäre es noch zu verkraften. Aber sobald die Meldung auftaucht, werden mache Seiten, hinter denen größere Scripte stecken nicht mehr geladen. Nach und nach wird dann gar nichts mehr auf unserer Seite geladen (vom ersten Auftauchen der Fehlermeldung bis zur kompletten "Arbeitsverweigerung" des Apache dauert es ca. eine halbe Stunde). Dann hilft nur noch ein neustart des Apaches. Die beiden Apache Prozesse haben dann i.d.R. zwischen 600 und 750 MB RAM im Zugriff und das System, auf dem unser XAMPP Paket läuft, hat noch über 1,5 GB freien RAM. Ich habe schon über google unzählige Beiträge zu dieser Felhermeldung gefunden, aber falls es da mal eine Problemlösung gab, wollte sie nicht so recht zu unserem System passen. Vielleicht ist hier jemand zu finden, der uns weiterhelfen kann. Ich bin für jeden Tipp sehr dankbar.

Hier ein paar Eckdaten zum System:
Windows Server 2003 Standard Edition
4 GB RAM
Apache Version (aus PHP Info): Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8e mod_autoindex_color
PHP Version 5.2.3
memory_limit 32 M

(werden ggf. noch weitere Infos benötigt, um den Fehler auf die Spur zu kommen?)

Wie man sieht, ist memory_limt bei 32 MB und die sind pro Script bei den o.g. Fehlermeldungen noch lange nicht erreicht. Finde es eh etwas seltsam, dass bei allen Scripten, bei denen der Fehlter gemeldet wird, bis auf das Byte genau, gleich viel Speicher bereits verbraucht werden soll und noch benötigt wird, da stimmt doch was nicht. Ich verzweifle an dem Fehler. Hab keine Ahnung woher er so plötzlich kommt und vor allem, wie man ihn beheben könnte. :-(
Last edited by actionman007 on 06. April 2009 08:50, edited 1 time in total.
actionman007
 
Posts: 20
Joined: 06. April 2009 07:41

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby Nobbie » 06. April 2009 08:11

>Wie man sieht, ist memory_limt bei 32 MB und die sind pro Script bei den o.g. Fehlermeldungen noch lange nicht erreicht.

Sebstverständlich sind genau die erreicht - Du verstehst offensichtlich die Fehlermeldung nicht. 32MB ist lächerlich wenig, erhöhe das mal zumindest auf 128MB o.ä.

P.S.: Wieso heißen Eure PHP Scripts eigentlich *.asp??
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby actionman007 » 06. April 2009 08:14

Aber moment. Verstehe ich das etwa falsch? Bezieht sich memory_limit nicht jeweils auf ein Script? D.h. wenn z.B. 10 user gleichzeitig ein riesen Script laden, würden schon 320 MB verbraucht? Auf unserer Webseite sind zu Stoßzeiten um die 500 User gleichzeitig online.
actionman007
 
Posts: 20
Joined: 06. April 2009 07:41

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby actionman007 » 06. April 2009 08:15

Nobbie wrote:>P.S.: Wieso heißen Eure PHP Scripts eigentlich *.asp??

:-) Ach, das hat nichts weiter zu bedeuten. War nur mal so ein "Scherz" von dem Kumpel, mit dem ich die Seite zusammen machen und wir haben es beibehalten.
actionman007
 
Posts: 20
Joined: 06. April 2009 07:41

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby Nobbie » 06. April 2009 08:16

>Verstehe ich das etwa falsch?

Ja, Du verstehst die Meldung "an sich" nicht. Erhöhe doch einfach mal auf 128MB (oder von mir aus auch mehr - ist doch genug drin in der Kiste).
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby actionman007 » 06. April 2009 08:21

Ich glaube da haben wir an einander vorbeigeredet. Ich meine, dass der Wert bei memory_limit pro Script und Client gilt. Und wenn meine Annahme richtig ist, dann könnte es doch passieren, wenn z.B. 10 User gleichzeitig online sind und diese alle "große" Scripte aufrufen, dass diese 10 zusammen schon 1,28 GB RAM verbrauchen würden (also 128 MB x 10), oder nicht?
actionman007
 
Posts: 20
Joined: 06. April 2009 07:41

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby illneaddix » 06. April 2009 08:24

Nobbie wrote:>Verstehe ich das etwa falsch?

Ja, Du verstehst die Meldung "an sich" nicht. Erhöhe doch einfach mal auf 128MB (oder von mir aus auch mehr - ist doch genug drin in der Kiste).


dann erkläre doch bitte mal die meldung, wenn er sie nicht richtig versteht. so hilft ihm das auch nicht weiter... :roll:
illneaddix
 
Posts: 12
Joined: 16. November 2006 16:02

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby Nobbie » 06. April 2009 08:27

Wieso fragst Du hier nach Hilfe und tust dann nicht da, was man Dir rät?

Ich kann es nicht oft genug wiederholen: Du verstehst die Fehlermeldung falsch. Und ob da zehn, hundert oder tausend Leute zugreifen, zunächst ist zu wenig Memory für ein einziges Script. Ich glaube nicht, dass 100 Leute gleichzeitig zugreifen (das hängt auch von anderen Dingen ab, wieviele Sockets in TCPIP freigegeben sind usw.), es wird sicherlich schon daran scheitern, dass ein bestimmtes Script unter bestimmten Bedingungen mehr als (die lachhaften) 32MB benötigt. Am Ende eines Scripts wird die benötigte Menge Speicher wieder freigegeben.
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby Nobbie » 06. April 2009 08:30

illneaddix wrote:
Nobbie wrote:>Verstehe ich das etwa falsch?

Ja, Du verstehst die Meldung "an sich" nicht. Erhöhe doch einfach mal auf 128MB (oder von mir aus auch mehr - ist doch genug drin in der Kiste).


dann erkläre doch bitte mal die meldung, wenn er sie nicht richtig versteht. so hilft ihm das auch nicht weiter... :roll:


Das steht doch alles drin: PHP hat an irgendeiner Stelle (weitere) 1,5MB (ungefähr) angefordert und nur noch (ungefähr) 1,3MB bekommen - das ist zu wenig, also "memory exhausted". Die Gesamtmenge an (bis dahin) benötigtem Speicher steht da nicht drin, die ergibt sich aus der Einstellung in php.ini.

Und es steht auch genau drin, in welchem Script in welcher Zeile der Speicher nicht mehr reicht - meistens sind das entweder große SELECTs, oder Grafikoperationen oder Videokonvertierungen oder oder oder.
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby actionman007 » 06. April 2009 08:34

D.h. also im Klartext, der Wert bei memory_limit ist eine Gesamtobergrenze für alle Scripte zusammen und wird nicht pro Script gezählt?
Sorry, wenn ich so viel nachfrage, hab nur bisher gedacht, dass die Beschreibung aus der PHP.ini da eindeutig sagen würde, dass der Wert pro Scipt und nicht insgesamt gilt:

Maximum amount of memory a script may consume
actionman007
 
Posts: 20
Joined: 06. April 2009 07:41

Re: Fatal error: Out of memory - Apache hängt sich auf

Postby actionman007 » 06. April 2009 08:36

Nobbie wrote:
illneaddix wrote:
Nobbie wrote:>

Und es steht auch genau drin, in welchem Script in welcher Zeile der Speicher nicht mehr reicht - meistens sind das entweder große SELECTs, oder Grafikoperationen oder Videokonvertierungen oder oder oder.


Vielen Dank. Das ist auf jeden Fall ein guter Tipp. Vielleicht müssen wir da mal genauer gucken, was an den besagten Stellen passiert und wie wir die Datenmengen, die von SQL zurückkommen stärker eingrenzen können. Wobei ich es trotzdem komisch finde, dass für alle Scripte die gleiche Menge Speicher fehlt.
actionman007
 
Posts: 20
Joined: 06. April 2009 07:41

Re: Fatal error: Out of memory - Apache hängt sich auf - Bug?

Postby Wiedmann » 06. April 2009 09:00

D.h. also im Klartext, der Wert bei memory_limit ist eine Gesamtobergrenze für alle Scripte zusammen und wird nicht pro Script gezählt?

Wie man schon im PHP-Manual nachlesen kann, ist dies pro Script (und Request).
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Fatal error: Out of memory - Apache hängt sich auf - Bug?

Postby actionman007 » 06. April 2009 09:05

Wiedmann wrote:
D.h. also im Klartext, der Wert bei memory_limit ist eine Gesamtobergrenze für alle Scripte zusammen und wird nicht pro Script gezählt?

Wie man schon im PHP-Manual nachlesen kann, ist dies pro Script (und Request).


Danke, also hatte ich recht. Da sollten doch 32 MB eigentlich genug sein?
actionman007
 
Posts: 20
Joined: 06. April 2009 07:41

Re: Fatal error: Out of memory - Apache hängt sich auf - Bug?

Postby Wiedmann » 06. April 2009 09:07

Da sollten doch 32 MB eigentlich genug sein?

Also der Default ist 128MB.

Und "eigentlich" liegt immer daran, was das Script macht. Für ein "Hello World" langt das natürlich ewig...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Fatal error: Out of memory - Apache hängt sich auf - Bug?

Postby illneaddix » 06. April 2009 09:15

also wir haben uns nun einmal mit memory_get_peak_usage() den peak des skripts ausgeben lassen. der liegt bei 2,5 mb? da sollten dann doch 32 mb mehr als genug sein!
illneaddix
 
Posts: 12
Joined: 16. November 2006 16:02

Next

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 12 guests