Mögliches Memory Leak?
-
Hallo Community,
mir ist schon seit einiger Zeit folgendes aufgefallen:
Das was ich beschreibe läuft unter:
Windows 10 Pro 2004 64 Bit (8GB Mem)
MV 13.6.0 unter Verwendung des mitgelieferten JavasIch nutze MV 24/7 (auch andere Programme/App’s).
Nach einem Neustart/Restart von Windows starte ich MV und nutze es rund um die Uhr. Die Filmliste lade ich nur manuell und fast vollständig.
Blacklist:
Andere Blacklist-Einstellungen gibt es nicht.
Zurzeit habe ich 214 Abos angelegt.Je nach Intensität der Nutzung wird der zugestandene Speicherbereich zeitlich gesehen immer voller. Dabei wird die Reaktionszeit auf Mausklicks und Tastatureingaben gegen Ende immer zäher, bis nichts mehr geht!
Wie man sehen kann ist der Heap so gut wie voll.
Ich behaupte nicht, dass es ein Memory Leak gibt und möchte es auch nicht unterstellen! Auch habe ich von Java so gut wie keine Ahnung; bin reiner Theoretiker.
Aber: Wenn meine Annahme richtig sein sollte habe ich 2 Fragen.-
Macht es Sinn die Standard-Vorbelegung von 2GB Speichernutzung zu vergrößern? Kann die genutzte Java-Maschine mehr adressieren und wenn ja, wo liegt die Obergrenze? Mir ist schon klar, dass diese Maßnahme das Problem nicht löst, sondern nur zeitlich hinauszögert.
-
@DerReisende77
Mir ist bewusst, dass solche Problematiken u.U. nicht einfach einzufangen sind, aber habe ICH eine Chance hier an mehr Informationen zu kommen? Z.B. durch “geheime” Logging-Switches?
-
-
@cicero Die 13.6 hat eine 64bit Java Fassung dabei, das heisst Du kannst den Speicher bis ungefähr 32GB erweitern. Das heißt aber nicht das es auf deinem System funktioniert. Ich denke die zulässige Größe für dein System sollte bei 6GB liegen. Dann bleibt dem OS gerade 2GB übrig noch halbwegs etwas machen zu können. Ich würde zum Testen eher dazu raten es auf 4GB zu begrenzen.
Die Parameter werden in der<XXX>.vmoptions
Datei eingestellt, wobei<XXX>
der Name der .exe ist die Du startest. Der Inhalt sollte wie folgt für 4GB aussehen:# Enter one VM parameter per line # For example, to adjust the maximum memory usage to 512 MB, uncomment the following line: -Xmx4G
Zum Testen mit mehr Log-Informationen musst Du die Kommandozeile bemühen:
.\jre\bin\java.exe -Xmx4G -XX:+UseStringDeduplication -XX:+UseG1GC -Dfile.encoding=UTF-8 --enable-preview -jar .\MediathekView.jar -d
Damit kannst Du einen “Debug”-Modus aktivieren. Es werden deutlich mehr Inhalte in mediathekview.log gschrieben. Interessanter ist jedoch - sollte Dein Speicher wieder komplett voll sein - die Möglichkeit, über den Button mit dem Recycling-Symbol links unten in der Statusleiste die VM zu zwingen Speicher frei zu geben. Bei der von Dir geposteten Speichersituation sollten schon 500MB-1GB freigegeben werden können. Ein Screenshot kurz nachdem Du gedrückt hast wäre für mich interessant.
Zur weiteren Suche wäre der komplette Inhalt der mediathekview.log interessant nachdem das Programm das Phänomen hatte und normal beendet wurde.
Sollten darin keine interessanten Sachen zu finden sein brauche ich deine config-Dateien um das hier ggf nachstellen zu können. -
@derreisende77 Der
-d
switch ist nicht wirklich geheim sollte aber nicht genutzt werden da sich die Funktion dafür natürlich ändern kann und er einige Sachen im Programm aktiviert und deaktiviert was der normale User nicht benötigt. Er unterbindet zum Beispiel immer das automatische Laden der Filmliste. -
@DerReisende77
Der Parameter -XX:+UseStringDeduplication für die VM muss also nicht 2mal angegeben werden? -
@cicero Nein, das war ein Fehler im Text den ich korrigiert habe
-
@cicero Und gab es Änderungen/Verbesserungen?