Linux RAM manuell leeren?

dotdoms

New Member
Hallo,

weiß irgendwer ne Methode wie man unter debian linux den RAM manuell leeren kann?

Background ist folgender: Ich habe ein relativ simples PHP script programmiert, das mir eine 80 MB große Datei zeilenweise einliest und die einzelnen Zeilen in eine mySQL DB schreibt. Das funktioniert ganz gut - einmal - doch jedes mal wenn ich das script ausführe steigt der verbrauchte RAM an und wird auch nicht wieder geleert bis ich einen server reboot mache (obwohl das script schon längst fertig ist und alle variablen per unset() bereinigt wurde)... im weiteren Verlauf wird dann zunehmend auch der SWAP aufgebraucht...

wichtig: ich mein nicht RAM der unter "cached" lauft, sondern der RAM wird wirklich "used" obwohl das script - wie obig erwähnt - fertig ist...

Hier die Ausgabe von free nach 4 durchläufen...
total used free shared buffers cached
Mem: 2075352 1526596 548756 0 2944 234548
-/+ buffers/cache: 1289104 786248
Swap: 2096440 1618132 478308

nach ca. 8 durchläufen bin ich dann so weit das alles weg ist und ich komplett rebooten muß...

weiß jemand wie man insofern den RAM des servers manuell wieder bereinigt?

Danke :)
 
Kannst du mal schauen, was für ein Prozess den Speicher verbrät? Führst du das php Skript über den Webserver aus oder direkt mit "php datei.php"?
 
Unter Linux gibt es keine (mir bekannte) Möglichkeit den Arbeitsspeicher manuell zu entleeren. Das müsste eigentlich auch garnicht nötig sein den der Kernel arbeitet sehr effizient mit dem Arbeitsspeicher. Du könntest versuchen mit dem Programm top (besser htop, manuell nachinstallieren) rauszufinden welches Programm den Arbeitspeicher reserviert und nicht wieder freigibt.
 
vielen dank fürs feedback.

Antworten:

1) Ich starte das script über CLI (also putty per php script.php)

2) top hab ich versucht, aber hat eigentlich so gut wie null prozesse angezeigt die abnorm wären - im speziellen keine irgendwie eingefrorenen Instanzen des scripts...

:)
 
Du mußt in top auch ein bisschen rumspielen.
Z.B. laß Dir den ganzen Speicherverbrauch anzeigen ([f] und dann CODE und DATA aktivieren).
Danach absteigend sortieren und evtl. hast Du den Verursacher.
Evtl. das selbe mit SWAP, da bei Dir der SWAP-Space auch kräftig genutzt wird.

huschi.
 
Back
Top