RAM-Anpassung

Ideen, wie TV-Browser verbessert werden kann
Klaus-Werner Willert
Senior Member
Beiträge: 154
Registriert: 02 Apr 2008, 12:51
Wohnort: 37434 Rhumspringe

RAM-Anpassung

Beitrag von Klaus-Werner Willert »

Nachdem ich einige Probleme mit der 2.74 & 2.75 (diverse Abstürze von TVB und/oder Plug-ins ) hatte, bekam ich von v6ph1 eine auf 512MB gepatchte TVB-exe.
* Foren-Übersicht ‹ Deutsch / German ‹ Support ‹ Hilfe < TMark2-Plugin Fehlermeldung
Damit lief der TVB 2.75 stabil und keine Plug-in-Fehlermeldung mehr.

Meine Bitte:

- eine Anleitung für Nicht-Programmierer wie die Startdatei auf 512MB oder 768MB gepatcht wird.

- in den Einstellungen eine Möglichkeit das RAM auf 512MB oder 768MB anzupassen, da der RAM-Gebrauch bei mir Zeitweise 500MB überschreitet.

Mit freundlichem Gruß

Klaus-Werner
AMIGA Life for Ever

Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Re: RAM-Anpassung

Beitrag von bodo »

Wie ich schon in dem anderen Thread schrieb: das machen wir nicht. Man sollte eher schauen, warum TMark bei dir so viel Speicher verballert. Das würde allen helfen :) .

Klaus-Werner Willert
Senior Member
Beiträge: 154
Registriert: 02 Apr 2008, 12:51
Wohnort: 37434 Rhumspringe

Re: RAM-Anpassung

Beitrag von Klaus-Werner Willert »

bodo hat geschrieben:Wie ich schon in dem anderen Thread schrieb: das machen wir nicht. Man sollte eher schauen, warum TMark bei dir so viel Speicher verballert. Das würde allen helfen :) .
Hallo TMark ist nicht der Übeltäter - Ich habe es mal komplett rausgenommen und trotzdem durchschnittlich ein RAM-Gebrauch 240-330MB.

aktivierte Plug-in´s
Bewertungen
Datenübersicht
Markierungen
MemSize
Nachrichten
Sendungsliste
Sound-Liste-bearbeiten
Timeline
Uhr
Zeitliste
z.Zt 121 Sender aktiv

nach wieder hinein-nehmen und aktivieren von TMark keine wesentliche Änderung im RAM-Gebrauch.
Für einen Tipp wie ich den RAM-Gebrauch von TVB reduziere währe ich dankbar.
Ich verwende TVB immer so wie es Online gestellt wird.

Mit freundlichem Gruß
Klaus-Werner
AMIGA Life for Ever

Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Re: RAM-Anpassung

Beitrag von bodo »

Bananeweizen, sind diese Werte Normal? Ich kann das nicht einschätzen.

Tomas
Junior Member
Beiträge: 49
Registriert: 01 Apr 2006, 18:52

Re: RAM-Anpassung

Beitrag von Tomas »

bodo hat geschrieben:Man sollte eher schauen, warum TMark bei dir so viel Speicher verballert. Das würde allen helfen :) .
Tut mir leid dir das sagen zu müssen Bodo, aber der neu TMark "verballert" nicht mehr so viel Speicher. Desshalb hatte ich die Weiterentwicklung des alten Plugins eingestellt und die Logik nochmal komplett neu implementiert. Beim alten Plugin hatte das Speicherproblem nähmlich was mit der Repräsentation der Daten zu tun, das sollte also behoben sein.
Wenn du`s selber testen möchtest: das Plugin hat eine import-Funktion für die die Regeln vom Favoriten-Plugin. Kontextmenü vom Regelbaum (linke Spalte) -> import FavPlugin. Der Import ist zwar nicht perfekt (mein Plugin sucht zB immer automatisch "Case-Insensitive") aber für einen Test sollte es ausreichen.

uzi
Site Admin
Beiträge: 2115
Registriert: 02 Jul 2009, 14:32

Re: RAM-Anpassung

Beitrag von uzi »

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.

v6ph1
Site Admin
Beiträge: 1269
Registriert: 13 Jan 2008, 05:07
Wohnort: Radebeul

Re: RAM-Anpassung

Beitrag von v6ph1 »

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.

Bananeweizen
Site Admin
Beiträge: 3353
Registriert: 09 Sep 2006, 22:45

Re: RAM-Anpassung

Beitrag von Bananeweizen »

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?

v6ph1
Site Admin
Beiträge: 1269
Registriert: 13 Jan 2008, 05:07
Wohnort: Radebeul

Re: RAM-Anpassung

Beitrag von v6ph1 »

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

Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Re: RAM-Anpassung

Beitrag von bodo »

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.

Tomas
Junior Member
Beiträge: 49
Registriert: 01 Apr 2006, 18:52

Re: RAM-Anpassung

Beitrag von Tomas »

@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.

Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Re: RAM-Anpassung

Beitrag von bodo »

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?

Tomas
Junior Member
Beiträge: 49
Registriert: 01 Apr 2006, 18:52

Re: RAM-Anpassung

Beitrag von Tomas »

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.

Bananeweizen
Site Admin
Beiträge: 3353
Registriert: 09 Sep 2006, 22:45

Re: RAM-Anpassung

Beitrag von Bananeweizen »

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.

Tomas
Junior Member
Beiträge: 49
Registriert: 01 Apr 2006, 18:52

Re: RAM-Anpassung

Beitrag von Tomas »

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.

Antworten