Christopher
New Member
Leicht off-topic, aber trotzdem:
Soweit ich da informiert bin ist es so, dass ein Apache Prozess nie wieder Speicher freigibt bis er neu gestartet wird. Das heißt: Wenn Du PHP Skripte hast, die 200MB Ram verbrauchen, ist der Apache Prozess nachdem das Skript durchgelaufen ist auch 200MB groß. Den Speicher belegt er auch, wenn er in den folgenden Requests nur benötigt wird um 1kb Gif Bilder auszuliefern.
Dafür gibt es dann aber auch in der Apache Config des mpm_prefork_module den Paramneter "MaxRequestsPerChild". Der Wert gibt an nach wievielen Requests der jeweilige Prozess neu gestartet wird.
Wir haben den Wert derzeit auf 2000 stehen und auch bei mehreren Monaten Laufzeit und recht ordentlicher Nutzung gibt es keine Probleme mit dem allokierten Speicher.
Ein grundsätzliches Leak hat mod_php daher meines Wissens nach nicht, man muss halt wissen, was man beachten muss.
Grüße,
Christopher
...obwohl mod_php für mich eigentlich nicht in Frage kommt, weil dort meines Wissens auch der Speicherverbrauch im Laufe der Zeit zunimmt oder ist das mittlerweile korrigiert worden?
Soweit ich da informiert bin ist es so, dass ein Apache Prozess nie wieder Speicher freigibt bis er neu gestartet wird. Das heißt: Wenn Du PHP Skripte hast, die 200MB Ram verbrauchen, ist der Apache Prozess nachdem das Skript durchgelaufen ist auch 200MB groß. Den Speicher belegt er auch, wenn er in den folgenden Requests nur benötigt wird um 1kb Gif Bilder auszuliefern.
Dafür gibt es dann aber auch in der Apache Config des mpm_prefork_module den Paramneter "MaxRequestsPerChild". Der Wert gibt an nach wievielen Requests der jeweilige Prozess neu gestartet wird.
Wir haben den Wert derzeit auf 2000 stehen und auch bei mehreren Monaten Laufzeit und recht ordentlicher Nutzung gibt es keine Probleme mit dem allokierten Speicher.
Ein grundsätzliches Leak hat mod_php daher meines Wissens nach nicht, man muss halt wissen, was man beachten muss.
Grüße,
Christopher