![](https://seccdn.libravatar.org/avatar/c1689f01c7ed8aa3f5f6707d2a5afc75.jpg?s=120&d=mm&r=g)
Hi Liste! Ich habe auf einem alten Pentium 120 mit 48 MB RAM und 128 MB Swap Partition SuSE 7.2 Pro installiert. Dort läuft unter anderem der Apache Webserver mit PHP und MySQL. Gestern ist mir aufgefallen, das plötzlich (vorher war alles ganz normal) der Aufruf einer Seite auf diesem Server irre lang gedauert hat. Durch meinen Blick ins Log-File ist mir folgendes aufgefallen: Sep 24 19:20:02 gandalf kernel: Out of Memory: Killed process 31558 (mysqld). Sep 24 19:20:03 gandalf kernel: Out of Memory: Killed process 31560 (mysqld). Sep 24 19:56:07 gandalf kernel: Out of Memory: Killed process 31891 (httpd). top ergibt: 3209 root 9 0 12000 11M 11320 S 0.0 >>25.2<< 0:11 httpd 3214 wwwrun 9 0 10236 9656 9384 S 0.0 >>21.2<< 0:00 httpd 3215 wwwrun 9 0 12112 11M 11416 S 0.0 >>25.5<< 0:00 httpd 3313 wwwrun 9 0 12112 11M 11404 S 0.0 >>25.5<< 0:00 httpd Mit >><< habe ich die Spalte für Mem-Usage markiert. Also benötigt Apache schon ca. 75% meines Speichers ... Die gehosteten Websites sind auch nicht sonderlich groß, nur experimentiere ich gerade mit PHP ... Mir ist klar was los ist: Ich habe einfach zu wenig Speicher .... Meine Frage jetzt: Kann man bei Apache irgendwie noch etwas einstellen, damit er weniger Speicher benötigt, oder hat jemand eine andere Idee, wie ich das Problem lösen kann? (Natürlich außer mehr RAM, wäre nicht schlecht, habe ich aber nicht). Danke für die Hilfe ciao Gregor
![](https://seccdn.libravatar.org/avatar/02bd3b8e3a436c5b5dac0042a9a9fa6b.jpg?s=120&d=mm&r=g)
Hi Gregor On Tue, Sep 25, 2001 at 06:55:12PM +0200, Gregor Göstl wrote:
Mit >><< habe ich die Spalte für Mem-Usage markiert. Also benötigt Apache schon ca. 75% meines Speichers ...
Mir ist klar was los ist: Ich habe einfach zu wenig Speicher ....
jepp
Meine Frage jetzt:
Kann man bei Apache irgendwie noch etwas einstellen, damit er weniger Speicher benötigt, oder hat jemand eine andere Idee, wie ich das Problem lösen kann? (Natürlich außer mehr RAM, wäre nicht schlecht, habe ich aber nicht).
du könntest ihn bitten weniger reserve prozesse zu starten. MinSpareServers 1 MaxSpareServers 1 StartServers 1 MaxClients 2 oder so ähnlich, das ding ist ja sicher nur zum Testen oder? -- MfG. Falk
![](https://seccdn.libravatar.org/avatar/c1689f01c7ed8aa3f5f6707d2a5afc75.jpg?s=120&d=mm&r=g)
Falk Sauer schrieb:
On Tue, Sep 25, 2001 at 06:55:12PM +0200, Gregor Göstl wrote:
Mit >><< habe ich die Spalte für Mem-Usage markiert. Also benötigt
Apache
schon ca. 75% meines Speichers ...
Mir ist klar was los ist: Ich habe einfach zu wenig Speicher ....
jepp
Meine Frage jetzt:
Kann man bei Apache irgendwie noch etwas einstellen, damit er weniger Speicher benötigt, oder hat jemand eine andere Idee, wie ich das Problem lösen kann? (Natürlich außer mehr RAM, wäre nicht schlecht, habe ich aber nicht).
du könntest ihn bitten weniger reserve prozesse zu starten.
MinSpareServers 1 MaxSpareServers 1
StartServers 1
MaxClients 2
oder so ähnlich, das ding ist ja sicher nur zum Testen oder?
der Server ist eben nicht nur zum Testen, sondern es laufen drei Webseiten darauf ... Zu deiner Idee mit MinSpareServers/MaxSpareServers: In der Apache-Besschreibung steht, dass diese Parameter verwendet weden können, um die Anzahl der gestarteten und inaktiven (idle) Prozesse einzuschränken ... Meine Einstellung lautet: Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 1 MaxSpareServers 1 StartServers 1 also eigentlich so wie von SuSE ausgeliefert und auch deine Vorschläge passen (bis auf Max Clients - der Server ist eben nicht nur zum Testen!!) Ich find nur komisch, dass trotzdem laut top mehr als 2 httpd-Prozesse laufen (root-Prozess und child), obwohl die Parameter MaxSpareServers, MinSpareServers eindeutig auf 1 stehen .... Noch etwas: Die gehosteten Webseiten sind noch nicht allzu groß (sollten in Zukunft aber noch größer werden) ... ==> 5 mb Warum hat jetzt schon ein einziger Apache-Prozess 25% meines RAM-Speichers (insgesamt 48 MD RAM, 128MB Swap)? Ich finde das ein bisschen zu viel für meinen Geschmack .... Danke, Ciao Gregor
![](https://seccdn.libravatar.org/avatar/f47ec62aa746a17f82f169cc8e5d2ae7.jpg?s=120&d=mm&r=g)
Am Dienstag, 25. September 2001 18:55 schrieb Gregor Göstl:
Mit >><< habe ich die Spalte für Mem-Usage markiert. Also benötigt Apache schon ca. 75% meines Speichers ...
Nicht ganz. Du kannst davon ausgehen, dass ein Grossteil dieses Speichers von den verschiedenen httpd-Prozessen geteilt wird. Der Gesamt-Verbrauch ist somit deutlich geringer (auch das sagt Dir übrigens top, oben stehtm, wieviel Speicher insgesamt verbraucht wird.)
Die gehosteten Websites sind auch nicht sonderlich groß, nur experimentiere ich gerade mit PHP ...
Spontan würde ich genau dort den Fehler suchen ...
Mir ist klar was los ist: Ich habe einfach zu wenig Speicher .... Meine Frage jetzt:
Kann man bei Apache irgendwie noch etwas einstellen, damit er weniger Speicher benötigt, oder hat jemand eine andere Idee, wie ich das Problem lösen kann? (Natürlich außer mehr RAM, wäre nicht schlecht, habe ich aber nicht).
Schau Dir Deinen php-Code genau an. Auf welcher Seite taucht das Problem auf. Ist es reproduzierbar? Was genau wird auf der Seite gemacht? Heiner -- Heiner Lamprecht Philosophenweg 79 D - 72076 Tuebingen Fon: +49-7071-600 162 Fax: +49-7071-600 164 heiner@kflog.de GnuPG - Key: E05AEAFC Fingerprint: 257A DFBF 4977 4585 77A0 3509 973B 92AA E05A EAFC
![](https://seccdn.libravatar.org/avatar/c1689f01c7ed8aa3f5f6707d2a5afc75.jpg?s=120&d=mm&r=g)
----- Original Message ----- From: "Heiner Lamprecht" <heiner@kflog.de> To: "SuSE-Linux" <suse-linux@suse.com> Sent: Tuesday, September 25, 2001 7:58 PM Subject: Re: Apache - Out of memory
Am Dienstag, 25. September 2001 18:55 schrieb Gregor Göstl:
Mit >><< habe ich die Spalte für Mem-Usage markiert. Also benötigt Apache schon ca. 75% meines Speichers ...
Nicht ganz. Du kannst davon ausgehen, dass ein Grossteil dieses Speichers von den verschiedenen httpd-Prozessen geteilt wird. Der Gesamt-Verbrauch ist somit deutlich geringer (auch das sagt Dir übrigens top, oben stehtm, wieviel Speicher insgesamt verbraucht wird.)
Meine Top-Zeilen über Speicherverbrauch: Mem: 45488K av, 43580K used, 1908K free, 0K shrd, 1404K buff Swap: 132984K av, 18804K used, 114180K free 28844K cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 3313 wwwrun 9 0 12140 11M >>11356<< S 0.0 25.5 0:00 httpd 3215 wwwrun 9 0 12124 11M >>11412<< S 0.0 25.5 0:00 httpd 3209 root 9 0 12000 11M >>11320<< S 0.0 25.2 0:11 httpd 3214 wwwrun 9 0 10236 9656 >>9384<< S 0.0 21.2 0:00 httpd (mit >><< die SHARE-Spalte) Man sieht, dass ziemlich viel Speicher zwischen den httpd-Prozessen geshared wird. Warum steht dann bei Mem oben (1. Zeile) 0K shrd? Heißt das vielleicht was anderes ...
Die gehosteten Websites sind auch nicht sonderlich groß, nur experimentiere ich gerade mit PHP ...
Spontan würde ich genau dort den Fehler suchen ...
Mir ist klar was los ist: Ich habe einfach zu wenig Speicher .... Meine Frage jetzt:
Kann man bei Apache irgendwie noch etwas einstellen, damit er weniger Speicher benötigt, oder hat jemand eine andere Idee, wie ich das Problem lösen kann? (Natürlich außer mehr RAM, wäre nicht schlecht, habe ich aber nicht).
Schau Dir Deinen php-Code genau an. Auf welcher Seite taucht das Problem auf. Ist es reproduzierbar? Was genau wird auf der Seite gemacht?
In meinen PHP-Programmen greife ich auf die Datenbank (MySQL) zu. Ich mache mit mysql_pconnect persistente Datenbankconnections auf, also sollte immer diesselbe verwendet werden ... glaub ich halt (steht so in der PHP-Doku)... ciao Gregor
participants (3)
-
Falk Sauer
-
Gregor Göstl
-
Heiner Lamprecht