Memory leeren/clearen oder der gleichen

  • Hi zusammen!


    Ich habe nach dem Schneiden meiner Aufnahmen immer den Speicher voll:
    Vor Schneiden:

    Code
    Mem:    498248K total,    68784K used,   429464K free,     6084K buffers
    Swap:   262136K total,        0K used,   262136K free,    23424K cached


    Nach Schneiden:

    Code
    Mem:    498248K total,   494540K used,     3708K free,     4628K buffers
    Swap:   262136K total,    28372K used,   233764K free,   466196K cached


    Allerdings nutzt laut "Top" kein Prozess mehr als 5 MB und zusammen ca 15-20MB.


    Da dadurch der VDR tierich lahm wird wollte ich wissen obs einen Befehl gibt um den Speicher aufzuräumen? also ein Memory clear oder der gleichen?
    Google und die Suche hat mir leider nicht geholfen.


    Oder kann man das unter Linux nicht machen und ich muss immer einen Reboot nach dem Schneiden einer Aufnahme machen?
    Damit der VDR wieder fit wird.
    Vielen Dank


    Christian

    Sys:
    TT-FF-S 1.5(4MB-Mod) incl. CI,Nova S-Plus , Asus P4-R800-V Deluxe
    Soft:
    EasyVDR 0.4

  • eigentlich macht das linux selbst.
    warte einfach mal ein paar sekunden oder minuten...


    gruessle

    RavenIV


    ----------------------------------------------------------------------


    LINUX - das längste text-adventure aller zeiten...

  • Zum X-ten mal, auch hier hätte :suche weitergeholfen!


    Aber auch zum X-ten mal die Erklärung, diesmal in aller Ausführlichkeit.


    Zitat

    Ich habe nach dem Schneiden meiner Aufnahmen immer den Speicher voll:


    Hier würden uns zumindest ein paar weitere Infos helfen: ist das ein reiner VDR oder arbeitest Du da auch dran? Gehe mal von "ArbeitsPC" aus.


    Zitat

    Vor Schneiden:

    Code
    Mem:    498248K total,    68784K used,   429464K free,     6084K buffers
    Swap:   262136K total,        0K used,   262136K free,    23424K cached


    Nach Schneiden:

    Code
    Mem:    498248K total,   494540K used,     3708K free,     4628K buffers
    Swap:   262136K total,    28372K used,   233764K free,   466196K cached


    D.h. Du hast ca. 512MB und 256MB Swap. Das ist schonmal schlecht. Ein guter Wert für Swap (insbesondere beim 2.6er Kernel) ist doppelte Swap Größe als physikalischer Speicher. Dann geht das Auslagern schneller, weil er feste Bereiche schon "vorgelagert" hat. Also Swapdatei auf 1GB hochschrauben, nochmal probieren. Es sei denn, das is ein reiner VDR ohne X-Windows, dann stelle Swap komplett aus.


    Zweitens ist Dein Speicher nicht weg, sondern wird für den Festplattencache genutzt.


    Erklärung:
    In einem Computer gibt es verschiedene Arten von Speichern;
    Bandlaufwerk (o.ä.), Festplatte, Hauptspeicher (RAM), CPU Level2, CPU Level1
    Üblicherweise nimmt bei dieser Reihenfolge die Größe ab, die Geschwindigkeit und Preis aber zu.
    (In der Informatik/ Betriebssystemlehre auch "Speicherpyramide" genannt)
    Um den Geschwindigkeitsnachteil auszugleichen nutzen alle mir bekannten Betriebssysteme (BS) sogenannte "Cache- Speicher".
    Um den Platz bei den teureren Speichern zu optimieren, nutzen alle vernünftigen BS "Swap- Speicher".
    Man möge beachten, daß das eine mit dem anderen nix, aber auch garnichts zu tun hat!
    Was heißt das nun am Beispiel der Zusammenarbeit Festplatte <-> RAM?
    Swap- Speicher:
    Es gibt Programme im Hauptspeicher, die sind geladen, werden aber nur ganz selten tatsächlich genutzt und liegen quasi "im Koma", verbrauchen aber Ressourcen in Form von Hauptspeicher (z.B. der Taschenrechner, der seit zwei Stunden gestartet ist, aberr nicht mehr genutzt wird). Wenn nun ein anderes Programm RAM benötigt, steht dieser nicht zur Verfügung- physikalischer Speicher ist voll :(
    Lösung: Man nimmt einen Bereich der Festplatte dazu und packt diesen (langsamen!) Speicher dem Haupspeicher quasi "obendrauf". Nun wandert das nicht genutzte Programm in den "FestplattenRAM" und der physikalische Speicher ist für die laufenden Anwendungen frei. Nachteil ist aber halt, das der Start eines seit langem ruhenden Programmes deutliche Verzögerungen mit sich bringt. Die Ersetzungsalgorithmen sind in der Realität ein "wenig" komplizierter, aber das würde zu weit führen. Prinzip für SWAP jetzt klar? Gut, weiter.
    Cache- Speicher:
    Der Zugriff auf die Festplatte dauert um Größenodrnungen länger als der in den Hauptspeicher. Wenn nun auf einem Computer alle 5 Sekunden ein Programm/ Benutzer/ irgendwas die Datei "Beispiel.txt" lesen will, müßte sie alle 5 Sekunden von der langsamen Platte gelesen werden. Das verlangsamt den computer deutlich. Also lädt das BS diese Datei einmal von Platte und hält sie dann im Hauptspeicher. Kommt nun 5 Sekunden später ein erneuter Zugriff, wird die Datei aus dem RAM geliefert. Folge: deutlich schneller! Das gleiche gilt auch für Schreiben. Schreibt ein Programm eine Datei, wird diese nicht sofort auf die Platte geschrieben (so daß das Programm warten muß), sondern in den Hauptspeicher geschrieben. Wenn der Computer dann später Zeit hat (im Sekundenbereich), schreibt er das auf die Platte.
    System auch hier erkannt? Gut, weiter.
    Linux mit Cache und Swap:
    Linux lagert ungenutzte Speicherteile schon "präventiv" aus, egal ob ein anderes Programm Hauptspeicher benötigt oder nicht. Dies hat den Hintergrund, daß der damit freiwerdende RAM für Cache-Speicher genutzt werden kann. Der Cache- Speicher ist vollkommen variabel und nimmt sich nur die RAM- Bereiche, die nicht von Programmen genutzt werden; allerdings auch nur, wenn er sie benötigt. D.h. daß auf einem etwas länger laufendem System Du fast nie freien Speicher haben wirst, da die "freien" Bereiche durch den Cache gefüllt sind. Sobald ein Programm aber mehr Speicher benötigt, wird der Cache entsprechend reduziert und der Speicher freigegeben.
    [These ON]Den fast optimalen Speicherausbau hat man erreicht, wenn von Swap soviel genutzt wird, wie noch als "free" angegeben wird- allerdings bitte nicht gerade nach einer Belastung (z.B. durch schneiden) prüfen, sondern im "regulären" Betrieb.[/These OFF]


    Was heißt das nun für Dein System?
    1. Du hast deutlich weniger Swap als RAM, d.h. Linux kann nicht sauber "präventiv" auslagern und schnell Bereiche freigeben. Maßnahme: auf 1GB hochsetzen
    2. Beim Schneiden passieren sehr viele Zugriffe auf die Festplatte, d.h. Linux wird die Blöcke in den Cache (Lese/ Schreib) aufnehmen und demnach aufgrund der Dateigrößen den komplett verfügbaren freien Speicher nutzen. Das ist normal und beabsichtigt. Erkennbar daran, daß "cached" stark ansteigt.
    3. Wenn das Schneiden fertig ist, macht Linux nun zwei Sachen: a) es lagert noch ungenutze Seiten aus, da es da nicht präventiv machen konnte (erkennbar daran, daß der used Swap von 0 auf 28MB hochgeht) und b) es schreibt die "dirty" buffers noch auf die Platte. Und die sind ja einige.
    Wäre es Dir lieber, wenn der Schreibvorgang erst beendet ist, wenn alle Blöcke auf die Platte geschrieben wären?


    Heißt für Dich einfach, daß Du (neben dem Hochsetzen des Swap) ein paar Sekunden warten mußt und alles ist wieder in Ordnung.


    Zitat

    Oder kann man das unter Linux nicht machen und ich muss immer einen Reboot nach dem Schneiden einer Aufnahme machen?


    Nein und nein.


    Zitat

    Damit der VDR wieder fit wird.


    Der ist in diesem Zustand "topfit" und beantwortet kommende Anfragen nach diesen Dateien rasend schnell aus dem Speicher- wie, Du willst die jetzt nicht gucken? Nun ,dann ersetzt er die wieder Stück für Stück durch andere Dateien....

    Glotze: yaVDR (ASRock Q1900M, 4GB RAM, DD Cine S2 V6.5, ZOTAC GT630 (Rev. 2)
    Server: HP ProLiant MicroServer G8, VMware ESXi 5.5 :P

  • Zitat

    Original von slime
    knebb:
    respekt und anerkennnung 2-fach.
    ich werde mir mal diesen beitrag ausdrucken und an den ein oder anderen linux-einsteiger verteilen.


    Dann krieg ich aber Lizenzgebühren! :grinzs

    Glotze: yaVDR (ASRock Q1900M, 4GB RAM, DD Cine S2 V6.5, ZOTAC GT630 (Rev. 2)
    Server: HP ProLiant MicroServer G8, VMware ESXi 5.5 :P

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!