RAM-Anpassung

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: RAM-Anpassung

Re: RAM-Anpassung

von uzi » 20 Jan 2010, 07:51

den ram für den vm-aufruf an die exe als optionalen param anhängen ist kein gangbarer weg? auf diese weise kann man bei der standardeinstellung bleiben und hat für extremfälle eine einfache möglichkeit, auch mehr speicher zur verfügung zu stellen. ich mein, wenn ich die jvm direkt aufrufe, kann ich ja auch als endanweder den ram selbst festlegen. (in dem sinne finde ich batches als starter für java-anwendungen immer angenehmer, weil mal da einfach drin herumpfuschen und alle parameter ändern kann, die die jvm zur verfügung stellt.)

Re: RAM-Anpassung

von bodo » 20 Jan 2010, 07:09

@v6ph1 : Aber ich will echt nicht das auf 512 erhöhen. Dann werden wir die Arbeit, die Bananeweizen sich gemacht hat, kaputt machen. Niemand wird merken, das wir in der 3.0 super viel Ram gespart haben, da die VM sich dann langsam auf 512 MB hochschaukeln kann. Dann werden (zurecht) wieder hier Leute aufschlagen und sich Beschweren . Denen müssen wir dann erklären, das die 512 kein "echter" Verbrauch sind etc.

Da ist es sinniger, jetzt mal ein paar Stunden/Tage hier mal nachzudenken und nicht den einfachen Weg zu gehen und einfach Ram zu verschwenden :)

Re: RAM-Anpassung

von v6ph1 » 20 Jan 2010, 00:27

Dass eine manuelle gc alles durcheinander bringt, hatte ich nicht gedacht. - Hab auch was gc betrifft wenig Javaerfahrung, da ich meist einfach genügend RAM hab.

Wie du es jetzt geschafft hast, RAM zu sparen, ist wirklich gut Bananeweizen - dann sollten 256MB auch etwas länger vorhalten.
Die 512 waren nur wirklich Sicherheit - und sollten eigentlich so gut wie nie benötigt werden.
Ich hatte nur gedacht, dass wenn es zuwenig RAM ist, diesen zu erhöhen die leichteste Lösung wär.
Wenn man das durch einsparungen wieder beheben kann, ist gut - dass aktuell die 256MB unter umständen knapp waren, ist eine Tatsache und könnte uns mit 150Sendern und ein paar mehr aktiven Plugins auch bei Version 3 wieder begegnen.

mfg
v6ph1

PS: @Klaus-Werner Willert:
Ich selbst hab auch 8GB RAM und davon werden ca. 4-5GB von Vista als Cache genutzt.
Aber ich hab es schon geschafft, den RAM restlos aufzubrauchen (mit schlechtem Code)

Re: RAM-Anpassung

von Klaus-Werner Willert » 20 Jan 2010, 00:03

Erst einmal Entschuldigung.
Ich habe nicht geahnt was ich mit meinem Vorschlag lostrete.
Ich hatte mir nur gedacht, da mit der auf 512MB gepatchten-TVB. exe bei mir der TVB nun sauber läuft und beim Daten-Update keine Plug-in Fehlermeldungen mehr auftreten, währe es eine gute Idee dem Programm mehr Speicher zuzuweisen.
Immerhin liegen bei mir von den 8GB installierten RAM trotz Hobby-Videobearbeitung mit VdL-Premium, Handbrake, MPeg-Steamclip, DivX-pro, meist 4-5GB brach.

Es ist sehr erfreulich wie gut die Betreuung hier ist, obwohl Ihr das Programm als Free-Programm laufen lasst.

Mit herzlichem Dank und Gruß
Klaus-Werner

Re: RAM-Anpassung

von Bananeweizen » 19 Jan 2010, 23:57

Noch eine ganz wichtige Sache: Mir ist gerade erst aufgefallen, dass es hier um die 2.7.5 geht. Das ist (von den Bugfixes abgesehen) etwa 1,5 Jahre alter Code. D.h. dort fehlen alle Optimierungen und Änderungen, die ich auf der 3.0 bereits eingebaut habe. Von daher bitte für Speicher- und Performancemessungen immer eine 3.0 (Alpha oder Nightly) nehmen, die ist bei mir Pi mal Daumen 30 Prozent schneller und braucht einige 10 MB weniger Speicher.

Und dann würde ich fast noch darum bitten, mir die Füße zu küssen. ;) Ich habe gerade noch einen Umbau gemacht, der bei mir ca. 20 MB RAM spart, indem für die nicht angezeigten Channels (ca. 1700) bzw. deren Icons keine Rasterimagedaten geladen werden. Soll heißen, erst beim Anzeigen holen die Icons jetzt lazy die Daten von der Platte.

Re: RAM-Anpassung

von Tomas » 19 Jan 2010, 23:22

Bananeweizen hat geschrieben:Wenn es technisch machbar ist, wäre deshalb z.B. eine Möglichkeit, beim Öffnen der MemSize-Anzeige einen GC zu machen
Naja, ich hatte eigendlich vorgesehen wie bei eclipse so eine Button für eine manuelle gc einzubauen. Hab bis jetzt halt versucht den realen Speicherverbrauch der Plugins zu schätzen (wäre definitiv hilfreicher) und bin damit noch nicht auf einen grünen Zweig gekommen.

Re: RAM-Anpassung

von Bananeweizen » 19 Jan 2010, 23:12

Tomas hat geschrieben:Tja so ganz einfach ist das eben nicht in java.
Das ist mir schon alles klar (immerhin habe ich in der Firma durch Tuning des Smalltalk-Garbage-Collectors die doppelte Performance aus unserer Smalltalk-VM geholt :) ) und das ist auch keineswegs als Kritik gemeint. Ich will nur auf folgendes hinaus: Die vom MemSize-Plugin angezeigten Daten lassen sich _nicht_ dafür benutzen, um den Speicherverbrauch des TV-Browsers beim Anwender zu ermitteln oder sogar zu vergleichen. Genau dafür wird es aber gerade in dieser (und vermutlich auch allen folgenden ähnlich gelagerten) Diskussionen genutzt.

Das ist ungefähr so, als wenn wir unsere Stromkosten vergleichen wollen und das dann anhand der Abschlagszahlungen tun. Das hat dann zwar eine Korrelation, aber genauso wie Nach/Rückzahlungen da nicht beachtet werden, interessiert mich für Speicherdiskussionen auch der Garbage nicht. Denn auf zwei verschiedenen Rechner, die identisch konfigurierte TV-Browser verwenden, aber unterschiedlich viel RAM haben, wird das Plugin verschiedene Ausgaben haben. Einfach deswegen, weil die Allokationsstrategie verschieden ist. Meine Maschine weist der VM z.B. gerade 1,7 GB zu. Da wird in den nächsten Stunden der Speicherverbrauch noch lange ansteigen, bis mal wieder GC läuft und die "echte" Speicherlast sichtbar wird.

Wenn es technisch machbar ist, wäre deshalb z.B. eine Möglichkeit, beim Öffnen der MemSize-Anzeige einen GC zu machen, dann ist wenigstens die initiale Anzeige vergleichbar. Periodisch GCs auszuführen, halte ich auch eher für kontraproduktiv.

Re: RAM-Anpassung

von Tomas » 19 Jan 2010, 22:40

Knifflig. Darüber wie man den Speicherfresser im "wildlive" bei Java findet hab ich mir den Kopf zerbrochen seit ich das MemSize plugin geschrieben habe. Im Prinzip kann man ziemlich genau berechnen wieviel Speicher benötigt wird. Das Problem ist den Verbrauch einer bestimmten Quelle (einem Plugin/Package) zuzuordnen. Da hab ich bisher noch keine Lösung gefunden.

Re: RAM-Anpassung

von bodo » 19 Jan 2010, 22:28

Ja, aber sobald die Java-VM an die Speichergrenzen stößt wird der GC aufgerufen. Gibt sogar ein "Notfallprogramm", das alles freimacht, was geht, wenn die Grenze erreicht ist. Aber trotzdem ist nicht genug Speicher frei hier bei Klaus-Werner. Ich kann mir nicht vorstellen, das wir eine App haben wollen, die 512 MB Speicher frisst "nur" für eine Fernsehzeitung :( .

Wie finden wir raus, was da wirklich das Problem ist?

Re: RAM-Anpassung

von Tomas » 19 Jan 2010, 22:23

@Bananeweizen
Tja so ganz einfach ist das eben nicht in java. Da in Java Objekte eben nicht vom Programmierer sondern von System freigegeben werden existieren auch Objekte die gar nicht mehr verwendet werden real im Speicher. Erst mit der nächsten gc werden sie dort gelöscht. Um also zu erkennen welche Objekte eigendlich nicht mehr benötigt werden müsste man den Algorithmus der gc neu implementieren und ständig ausführen (was entgegen der Logik von java ist und ziemlich viel Zeit bei der Ausführung bräuchte).
Das MemSize Plugin gibt also nur die Daten an die bekannt sind, nähmlich wieviel Speicher Java gerade für das Programm benutzt. Egal ob da jetzt was sinnvolles drin steht oder nicht.

@v6ph1
Ein klassischer Trugschluss: der RAM-Mangel liegt nicht an der seltenen Ausführung der gc. Ist der Speicher voll startet Java automatisch die gc. Probleme treten erst auf wenn der Speicher danach immer noch voll ist, also wenn der Speicher wirklich real benötigt wird. Die gc alle 0.5s laufen zu lassen ist übrigens auch nicht gut. Erstens braucht es viel zu lange und zweitens eliminiert es den gc-Algorithmus.
Der einzige Vorteil von relativ viel unbenötigtem Speicher ist, das die gc seltener läuft (weil ja noch platz ist). Dadurch läuft das Program schneller.

Re: RAM-Anpassung

von bodo » 19 Jan 2010, 22:15

v6ph1 hat geschrieben:warum lasst ihr dann nicht alle 10s oder so den GarbageCollector laufen?
Einfach "System.gc();" aufrufen - dann ist wieder RAM frei.
Das ist das schlimmste, was man einem Garbage-Collector antun kann. Frisst performance und wirft die schönen Algos der verschiedenen GC-Implementierungen total durcheinander.

Re: RAM-Anpassung

von v6ph1 » 19 Jan 2010, 22:01

Wenn es am GarbageCollect liegt, dass RAM-Mangel auftritt, warum lasst ihr dann nicht alle 10s oder so den GarbageCollector laufen?
Einfach "System.gc();" aufrufen - dann ist wieder RAM frei.

Alternativ vor jeder aktuallisierung des Plugins den GarbageCollector aufrufen.

mfg
v6ph1

Re: RAM-Anpassung

von Bananeweizen » 19 Jan 2010, 21:50

Ich habe mir mal das MemSize-Plugin angeschaut. Und das lügt leider (salopp formuliert). Es zeigt den allokierten Speicher an, was nichts mit dem Speicherverbrauch (nach Garbage Collection) zu tun hat. Das läuft bei mir stundenlang mit einer Anzeige von 340 MB, weil einfach noch kein Garbage Collect erfolgt ist (nach dem es nur noch 110 MB sind). Die Zahlen sind dann schon besser für einen Vergleich als die aus dem Taskmanager, aber belastbar für Aussagen zum Speicherverbrauch sind sie nicht. Kann man da noch was an dem Plugin machen?

Re: RAM-Anpassung

von v6ph1 » 19 Jan 2010, 21:37

Bei mir sind's ca. 185MB - Laut taskmanager sind es 370MB.
57 Sender und "wenige" Plugins auf einem 64Bit-System.

Die Sache ist die, warum ich auf die Idee mit 512MB gekommen bin:
Es kommen immer wieder Probleme, die an zu wenig RAM hängen.
Und dann steigt der Verbrauch unter Windows auch nicht, wenn man die RAM-Obergrenze erhöht.
512MB ist eine Verdoppelung und sollte für alle ausreichen.

Ein weiterer Grund war für mich, dass der Verfügbare RAM in PCs heute schon ausreichend ist - 3GB sind eigentlich Minimum.
4GB sind üblich und einige (wie ich) nutzen 8GB - da sind 256MB max. mehr für TVBrowser kein Problem.

Die letzte größere RAM-Explossion gab es glaube beim Versionssprung zu 2.6, welcher mit einer deutlichen Performanceerhöhung einherging.
Jetzt etwas mehr um Probleme zu beheben sollte für jeden Verkraftbar sein.

mfg
v6ph1

PS: Klaus-Werner Willert scheint hier der Extremnutzer zu sein - vllt. sollte auch die eine Einstellung 384MB reichen - wäre mir aber etwas knapp.

Re: RAM-Anpassung

von uzi » 19 Jan 2010, 20:33

bodo hat geschrieben:Bananeweizen, sind diese Werte Normal? Ich kann das nicht einschätzen.
also nach meiner erfahrung ist das normal, ja. ich hab als purist (mit wenigen plugins und noch weniger sendern) auch etwa so viel.

Nach oben