RAM leeren lassen

Fireball22

Registered User
Hallo,
da mein Server leider neuerdings warscheinlich über sog. Memory Leaks verfügt, wollte ich fragen, ob ihr ein Programmt kennt, dass den RAM hinundwieder automatisch leer, welche Daten nicht mehr benötigt werden?!

Ich habe bei Wikipedia unter Memory Leaks von solchen Programmen gelesen...

Fireball22
 
der sinn des swaps

Das machst du lieber mit swap. Das ist einfacher und Festplattenplatz kostet wenig.

ainan
 
Vielen Dank für deine Antwort!

Leider bin ich damit noch nicht so ganz vertraut, wie ich das anstellen könnte, kannst du mir das vielleicht kurz erklären?

Deine Idee besteht ja darin, dass man den RAM-Platz, der im Moment nicht benötigt wird in den SWAP schmeist und die Programme das ganze bei Bedarf dort rausziehen, oder?

Ich habe neben der 10 GB Partition meines V-Servers noch eine weitere SWAP-Partition, diese könnte man ja verwenden, oder?

Fireball22
 
Stimmt, eigentlich sollte Linux das tun, aber Linux tut es nicht.

Im durchschnitt jede 5 Tage sind bei mir keine MySQL-Datenbankabfragen mehr möglich, der SSH-Login schlägt fehl, das abrufen von E-Mails scheitert, usw.

Kann man da nicht irgendwas umstellen?

Fireball22
 
Also wenn ich mal von einem Standart-Linux-System ausgehe, mit Debian oder SuSE und den üblichen Anwendungen, kann es kaum ein Fehler des Systems sein.
Sonst vermute ich mal, hät ich hier schon mehr von solchen Problemen gelesen :)

Hast du mal dein Hoster angesprochen, ob eventuell der Ram defekt sein könnte?
 
da mein Server leider neuerdings warscheinlich über sog. Memory Leaks verfügt
Die üblichen Serverdienste haben keine Speicherlecks, sonst wären sie nicht für den Dauerbetrieb geeignet. Wenn du ein selbstgeschriebenes Programm mit Speicherlecks laufen hast hilf ein Debugger um die Fehler zu finden
wollte ich fragen, ob ihr ein Programmt kennt, dass den RAM hinundwieder automatisch leer, welche Daten nicht mehr benötigt werden?!
Ich habe bei Wikipedia unter Memory Leaks von solchen Programmen gelesen...
Lesen != Verstehen. Wikipedia sagt was von Bibliotheken, die erfordern im einfachsten Fall ein neukompilieren, im schmlimmsten Fall ein komplettes umprogramieren der Speicherverwaltung des betroffenen Programms.
Es gibt für Windows (und IIRC sogar für Linux) Programme die kurzzeitig sehr viel Speicher anfordern und damit erreichen das der gesammte zur Zeit nicht gebrauchte Speicher auf die Swap Partition ausgelagert wird und so scheinbar wieder mehr Arbeitsspeicher frei ist aber dadurch wird auch der Diskcache gelöscht und der Kernel lagert eh ungenützten Speicher aus wenn neuer verlangt wird.
Die Speicherverwaltung von Linux und Windows wurde jahrelang optimiert, jeder amateurhafte Versuch da was zu ändern wird die Sache eher verschlechtern.

Ich habe neben der 10 GB Partition meines V-Servers noch eine weitere SWAP-Partition, diese könnte man ja verwenden, oder?
Bei vServern ist die Swap Partition und die Speicherverwaltung Sache des Hostsystems.
 
Jein, ich habe meinen Hoster, in diesem Fall "Strato", bereits mehrmals wegen diesem RAM-Problem angesprochen und sie stellen das Problem immer wieder in meinen Aufgabenbereich.
Direkt über einen defekt des RAMs haben wir noch nicht gesprochen.

Kann ich das meinem Hoster denn irgendwie beweisen, dass der RAM defekt ist?
Oder was könnte sonst noch sein?

Übrigends läuft auf meinem Server das OS Suse Linux 9.3

Fireball22
 
Vielleicht am PHP ? Ansoten ka...

Auszug von php.net:

PHP 5.1.6 Released

[24-Aug-2006] The PHP development team would like to announce the immediate availability of PHP 5.1.6. This release contains a fix for memory_limit restriction on 64 bit systems that was not included in PHP 5.1.5.
#############
PHP 4.4.4 and PHP 5.1.5 Released

[17-Aug-2006] The PHP development team would like to announce the immediate availability of PHP 5.1.5 and 4.4.4. These two releases address a series of security problems that were discovered since the release of PHP 5.1.4 and 4.4.3. The new releases include the following changes:

* Added missing safe_mode/open_basedir checks inside the error_log(), file_exists(), imap_open() and imap_reopen() functions.
* Fixed overflows inside str_repeat() and wordwrap() functions on 64bit systems.
* Fixed possible open_basedir/safe_mode bypass in cURL extension and on PHP 5.1.5 with realpath cache.
* Fixed overflow in GD extension on invalid GIF images.
* Fixed a buffer overflow inside sscanf() function.
* Fixed an out of bounds read inside stripos() function.
* Fixed memory_limit restriction on 64 bit system.
 
Sehr gut, dann kann ich ja ein Memory Leak schon mal ausschließen, da ich keine anderen Programme als einen TeamSpeak-Server und einen SHOUTcasting-Server+Transcoder installiert habe(Problem existierte schon vor Inbetriebnahme des Shoutcasting-Servers).
Und ich kann mir kaum vorstellen, dass der TeamSpeak-Server ein Memory Leak vorweißt, er wird schließlich überall für den Dauereinstatz verwendet.

Also würde mich das nochmal interessieren:

Kann ich das meinem Hoster denn irgendwie beweisen, dass der RAM defekt ist?
Oder was könnte sonst noch sein?

Fireball22
 
Hmm, das könnte natürlich gut sein, aber bei mir ist die PHP Version 4.3.10 installiert und alle aktuellen Sicherheitsupdates sind laut Yast installiert.

Fireball22
 
Wenn keine Software in frage kommt, wirds wohl am Hostsystem liegen.
Das zu beweisen ... hmm ... fällt mir im Moment nichts ein. :(

Das PHP die Probleme erzeugt, wäre möglich, aber der Changelog entnehme ich das es nur 64Bit Systeme betrifft. Stratos vServer laufen soweit ich weiß auf 32Bit :)
 
hmmm?

Ich kapiere leider nicht mehr ganz um was es geht.

Ist es nun ein vserver oder ein server (ohne v)?

Weil wenn mit v, dann ist es Sache das Providers, für swap und fehlerfreien Speicher zu sorgen.

ainan
 
Die "memory_limit restriction" von PHP hat _nichts_ mit Speicherlecks zu tun.
Hardwarefehler auf einem Strato Hostsystem sind sehr unwarscheinlich da die Systeme (hoffentlich) andauernd überwacht werden und vermutlich gebufferten Arbeitsspeicher verwenden. Außerdem wären dann alle anderen Kunden ebenfalls betroffen.
Oder was könnte sonst noch sein?
Beschreibe doch erstmal was dein Problem ist(ohne Interpretationen!) bzw was die Symptome sind. Bisher stehen hier nur wilde Spekulationen.
 
Wer sagt denn, dass seine Webapplikation nicht einfach grottenschlecht programmiert ist? (Nicht persönlich nehmen).

Ich habe oben etwas von MySQL-Abfragen gelesen. Evtl. ist der Server unterdimensioniert für das was dort gehosted wird? Also ich schließe "Memory-Leaks" bei den jetztigen Informationen aus.
 
Also kommen wir doch erstnochmal zu den genauen Symptomen:
  • Statt aufruf der Scripte, z. B. ein Umfrage-Script auf meiner Homepage kommt die Meldung, dass keine Verbindung zur Datenbank hergestellt werden konnte
  • In der Bildergallery meiner Seite werden einige Bilder überhaupt nicht mehr angezeigt, diese werden mit Hilfe von createimage(PHP) kleiner für die Übersicht erzeugt
  • Das einloggen per SSH in die Konsole ist nicht mehr möglich(Meldung: Der Server hat die Verbindung zurückgesetzt). Kommt man doch rein bekommt man bei jedem kleinen Kommando die Meldung, dass nicht genügend Hauptspeicher zur Verfügung steht.
  • Das Abrufen von E-Mails ist nicht mehr möglich, er erkennt den IMAP Server nicht mehr.
  • Plesk(ja ich weiß, nicht umbedingt RAM schonend) kann die Daten für Einstellungen am Server, bzw. die Server Statistik nicht mehr anzeigen, er bringt irgendeine Fehlermeldung mit "allocate Memory"

Hmm, also die Webaplikationen sind nicht sehr aufwendig, es handelt sich dabei nur um eine Umfrage(Poll), eine Bildergallery, ein Couter mit Statistik und ein Gästebuch.

Fireball22
 
Wieviel Aufrufe hat Deine Page pro Stunde / Tag? Wann treten die Probleme auf (stochastisch / zu bestimmten Zeiten / permanent)? Was gibt Dir top aus? Oder z.B. die Durchschnittslast bei uptime? Ist die Bildergalerie selber programmiert? Werden dort auch Thumbnails on the fly generiert?
 
Meine Page hat pro Stunde maximal um die 20 Besucher, die so ca. 150-200 Aufrufe produzieren.
Pro Tag hat die Page um die 60 Besucher, also auch um die 600 Aufrufe.

Die Probleme treten meistens in der Zeit von 8 bis 10 Uhr auf undzwar deshalb, weil in dieser Zeit von Strato die Backups der Server durchgeführt werden und dann steht der ganze physikalische schon mal auf einem Load Average von 10,00(sonst nur 00,54 maximal). Und das Backup verbraucht auch ziemlich viel RAM aufeinmal was dann meinen Dynamischen RAM angreift und da dieser auch nicht mehr genügend bietet hängt sich wieder mal die MySQL-Datenbank usw. auf.

Code:
load average: 0.24, 0.31, 0.25

Die Bildergallery ist nicht selber programmiert.
Jedoch habe ich den Code im Kopf, da diese nicht ziemlich schwierig aufgebaut ist.
Es werden nur die ganzen Bilder im aktuellen Ordner ausgelesen und Thumbnails erzeugt, welche in einer Tabelle angezeigt werden.
Man kann bei einem Aufruf beobachten wie der RAM pro Galleryaufruf um die 20 MB ansteigt, welche aber innerhalb der nächsten paar Sekunden wieder heruntergehen.

Fireball22
 
In dem parallel laufenden Thread, wo sich über die Backupprobleme bei 1&1 diskutiert wird, wurde gerade eben von einem Strato-Kunden entsprechendes berichtet. Ich würde sagen: Munteres Ticket schreiben :)
 
Back
Top