Hallo,
mich ereilte kürzlich die folgende Fehlermeldung:
Fatal error: Allowed memory size of 16777216 bytes exhausted
(tried to allocate 328 bytes) in Unknown on line 0
Ursache ist ein zugegebenermaßen recht Performancelastiges PHP-Script welches munter allerlei mySQL-Querys stellt.
Ich hab jetzt schon das halbe Internet durchgelesen, konnte aber keine Antwort auf die Frage finden ob es daran liegt, das PHP einfach ein zu niedriges Memory-Limit hat, oder ob hier ein mysteriöses Memory-Leak vorliegt(Vermutung des SysAdmins).
Der Fehler ist nicht reproduzierbar, tritt jedoch überwiegend in Zeiten auf, in denen das betreffende Script über 100 mal pro Minute
aufgerufen wird. Ein Apache-Restart behebt das Problem nur vorübergehend (für einige Tage), und dient daher nur zur Symptombekämpfung.
Offensichtlich wird der verwendete RAM nicht immer korrekt wieder freigegeben, oder nicht schnell genug wieder geleert.
Fakt ist, das das jetzige Memory-Limit eigentlich reichen sollte.
Kann der Cache (Zend-Optimizer) was damit zu tun haben?
Irgendwelche anderen Ideen?
Bin für alle Ideen dankbar!
Daniel