Meine kleine ec2-Instanz mit 1,7 GB Speicher, auf der Amazon AMI auf Basis von CentOS ausgeführt wird, hat ein Problem damit, dass Apache viel zu viel Speicher verwendet, als es sollte. Wenn Sie sich den Screenshot ansehen, liegt die Speichernutzung bei 90-100%, bis ich den httpd-Dienst neu starte, wo er neu gestartet wird, und seinen Weg wieder auf über 90% erhöht.
Ich würde mich sehr über Unterstützung bei der Suche nach dem Problem freuen. Ist das vielleicht "normales" Apache-Verhalten, um den gesamten verfügbaren Speicher zu nutzen? Oder gibt es ein mögliches Leck, das ich suchen muss? Im Moment bin ich etwas ratlos darüber, was los sein könnte.
Wir verwenden den Apache MPM-Prefork und kein SQL oder ähnliches - nur Apache. Die Website ist hier .
quelle
RequestHeader set X-Request-Start "%t"
falls Sie dies noch nicht getan haben. Dies wird als "Request Queuing" angezeigt, wenn Sie zu App Server> Übersicht gehen. Dies kann Ihnen helfen, dem Problem auf den Grund zu gehen.Antworten:
Wie HTTP500 sagte, sollten Sie sich wahrscheinlich keine Sorgen machen, es sei denn, der Computer erstickt tatsächlich. Schauen Sie sich die Hilfe an! Linux aß meinen RAM! . Dies ist keine ganz analoge Situation, da Sie Prozesse anstelle von Puffern haben, die den Arbeitsspeicher verbrauchen, aber es ist nicht zu weit entfernt: Der physische Arbeitsspeicher Ihres Computers ist eine Ressource, die verwendet werden kann, entweder mit Kernel-Puffern oder Ersatz-Apache-Worker-Prozessen, um eingehende Eingriffe sofort zu verarbeiten Anfragen. Wenn Sie keinen RAM verwenden, haben Sie für die Größe Ihrer Box zu viel bezahlt.
Wenn Sie mit MPM-Einstellungen spielen möchten, finden Sie in der Apache-Dokumentation http://httpd.apache.org/docs/current/mod/prefork.html
Sie können möglicherweise die MinSpareServer, StartServer usw. reduzieren, da Sie angegeben haben, dass die Site wenig Verkehr hat. Sie haben dann mehr freien RAM, der von Kernel-Puffern für ihre schändlichen Zwecke verbraucht werden kann.
quelle
Linux, das Ihren gesamten Speicher verwendet, ist normal. Speicher, der ansonsten nicht verwendet wird, wird als Festplatten-Cache verwendet. siehe: linux hat meinen ram gegessen
Sie können dies überprüfen, indem Sie sich die Ausgabe von
free -m
ansehen und erwarten, dass Folgendes angezeigt wird:Die +/- Puffer / Cache-Zeile ist die gewünschte. Es fügt den zwischengespeicherten RAM kostenlos hinzu, um Ihnen ein besseres Bild davon zu geben, wie viel Speicher wirklich verfügbar ist. In diesem Fall möchten Sie auf die Nummer 3416 achten, nicht auf die Nummer 101.
quelle