PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kein Arbeitsspeicher mehr



Snoooke
07.11.07, 16:54
Hallo Linux Freunde,

ich habe da ein Problem auf meinem V-Server. Gleich vorweg: "Ich kenne mich mit Servern nicht sehr gut aus". Deshalb ist der V-Server auch eine Managed Server. Ich brauche diesen aber, da ich viele verschiedene Webseiten betreibe.

Leider taucht seit kurzem immer wieder der Error 500 "Internal Server Error" auf (alle 30-60 Minuten 1-2 Mal für 1 Minute). Der Error kommt aber nur bei PHP Scripten. HTML Seiten bleiben verschont (ich nehme an der Apache verabschiedet sich oder so).

Ich habe daraufhin mal per Putty "top" eingegeben und bekam folgende Ausgabe:
http://www.snoooke.de/putty.jpg

Ich kann daran erkennen, dass der Arbeitsspeicher ganz aufgebraucht ist. Ausserdem kommt es mir vor, als wenn "mysld" udn "spamd" sehr viel Arbeitsspeicher verbrauchen. Stimmt das oder ist das normal?

Ich hoffe ihr könnt mir einen Tipp geben woher das Problem kommen könnte.

Vielen Dank im voraus.

Snoooke

zeus.mclane
07.11.07, 17:58
Moinsen
Lies mal http://wiki.debianforum.de/LinuxSpeichermanagement
Linux cached den RAM, d.h. freier Speicher =ungenutz=nichtexistent :D

mfg zeus.mclane

rkauskh
07.11.07, 18:11
Hi

Schau dir mal an wie man die Errorausgabe von PHP aktiviert. Eventuell ist nicht Linux das Problem, sondern ein PHP-Script das mehr als die standardmäßigen 8MB (oder 16MB) Speicher belegen will. Das könnte durch zu große Ergebnismengen bei Datenbankabfragen passieren. Eventuell reicht es die Anzahl der Datensätze mit LIMIT zu begrenzen. Einfach den zulässigen Speicher zu erhöhen verschiebt das Problem nur in die Zukunft und löst es in der Regel nicht.

ThorstenHirsch
07.11.07, 18:21
@zeus.mclane: Aber cache/buffer steht auf 0! Und 47,7% der Zeit vertrödelt der Rechner damit, auf I/O zu warten, weil ständig geswappt wird. Sieht wirklich nicht gut aus.

Roger Wilco
07.11.07, 20:28
Vorausgesetzt es ist ein VServer auf Virtuozzo oder OpenVZ-Basis: was steht in /proc/user_beancounters?

Ansonsten bleibt nur zu sagen, dass das Hostsystem eben überbucht ist. Disk-I/O lässt sich nicht so schön wie Speicher oder CPU-Zeit beschränken und auf verschiedene VPS aufteilen...

Snoooke
08.11.07, 14:50
Hallo und vielen Dank für eure Antworten :)

@zeus.mclane:
Vielen Dank. Jetzt hab ich etwas dazu gelernt. Im Artikel steht ja, dass man mit "free" sehen kann, wieviel wirklich zur Verfügung steht, aber selbst da ist alles belegt.

@Roger Wilco:
Dieses Verzeichnis gibt es auf meinem Server leider nicht.

@rkauskh:
Ja, das könnte das Problem sein. Ich habe Heute mal mit meinem Provider telefoniert und dieser meint, dass eines meiner PHP Scripte schuld an dem Problem ist. Die Frage die sich nun stellt: Welches?
Ich nehme an, es gibt keine einfache Möglichkeit das herauszufinden oder?

Das dumme ist, dass das Problem ca. 2 Tage
nach einem Confixx-Update begonnen hat. Ich bin mir daher leider nicht 100% sicher, ob es wirklich eines meiner Scripte ist oder ob beim Update nicht irgend ein Fehler gemacht wurde (das Update hat mein Provider gemacht).

rkauskh
08.11.07, 18:55
Hi

Du kannst das Error-Reporting mit folgenden Zeilen einschalten:



//Debug-Modus
//im Produktiveinsatz auf E_NONE, zu Debugzwecken auf E_ALL
error_reporting(E_ALL);


Die Zeilen in deine Index.php ganz oben einfügen oder noch besser, falls es eine global.php gibt die in alle Seiten per include eingeschlossen wird - dort rein.

Aber bitte denke daran das das JEDER zu sehen bekommt. Nimm am besten die Seiten vom Netz (index.php umbenennen zum Beispiel in index-test.php) und ruf so die Startseite auf. Versuch dann das zu machen wobei du die Fehlermeldung bekommst.

Guter Tip dazu ist auch das Schwesterforum www.mrunix.de. Da sind PHP-Experten zu Gange. Die können dir besser helfen denke ich, falls es an PHP liegt.

Snoooke
09.11.07, 13:33
Vielen Dank :)

Ich hoffe ich kann den Fehler nun finden.