Garbage Collector lässt Programm kurz hängen

leon_20v

Aktives Mitglied
Hallo,

in einem Thread werden Daten erstellt, die dann Serialisiert werden. Ich habe bei der Synchronisation keinen Verklemmungen und keine wartezeiten (mit JProfiler getestet).

Denn wird der Erzeugerthread immer für 50ms unterbochen. Hab viel gegoogelt und geschaut und bin dann darauf gekommen der GC könnte Schuld sein wenn ich nach der Serialisierung die Objekte aufräume. Immer wenn ich Lücken von meinem Erzeuger habe räumt der GC auf: [Times: user=0.05 sys=0.00, real=0.04 secs]

Kann ich das iwi einstellen? Damit der das Aufräumen unterbricht damit mein Programm weiter arbeiten kann?


Vielen Dank für eure Hilfe. Hab schon GC tuning gegoogelt aber iwi steht da nicht das was ich suche.
 
Zuletzt bearbeitet:

turtle

Top Contributor
Damit der das aufräumen unterbricht
Nein, das geht natürlich NICHT. :noe:

Denn das würde die Stabilität des Java-Systems gravierend beeinflussen und daher geht DAS grundsätzlich nicht. Beispiel. JVM möchte GC machen, weil Speicher knapp wird, du unterbrichst den GC und legst im Programm noch 1,23456 Objekte an also knallt die ganze JVM.:eek:

Was aber geht, ist, den Garbage Collector mit Parametern zu "steuern". Dies ist aber definitiv nicht ganz einfach und erfordert grösseres Wissen über die verschiedenen GC-Algorithmen und deren Arbeitsweise (insbesondere Performance-Optionen) Hier findest du eine erste Anlaufstelle.
 

leon_20v

Aktives Mitglied
Ich hab das schon probiert, aber iwi kann er dann die JVM nicht mehr starten:

java -Xmx512m -Xms512m -Xmn1g
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:parallelGCThreads=20
-XX:SurvivorRatio=8
-XX:TargetSurvivorRatio=90
-XX:MaxTenuringThreshold=31
 
Zuletzt bearbeitet:

turtle

Top Contributor
ich sagte ja;)
Dies ist aber definitiv nicht ganz einfach
Ich würde Schritt für Schritt gehen und nicht mehrere Parameter auf einmal ändern. Danach kannst du das Programm mit dem neuen Paramtersatz testen und wenn du meinst, es läuft besser, weitere Schritte machen.
 

turtle

Top Contributor
Code:
java -Xmx512m -version

Nimmt er bei mir beispielsweise an und liefert

Code:
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
 

leon_20v

Aktives Mitglied
was mich so wundert, warum der gc den alle threads kurz blocked. das ist doch einfach doof dass da nix passiert 50ms... Naja ist halt kein Echtzeitsystem aber trotzdem, sowas nervt doch einfach...


Wenn das nicht Funktioniert den GC einzustellen so dass der vernünftig läuft, dann kann ich nur noch die Objekte recyclen, d.h. wenn ich Serialisiere die Objekte zum Deserialisieren nehmen und umgekehrt. Dann muss der GC nicht mehr soviel aufräumen...

Würde glaub in meinem Fall funktoinieren, da ich Daten auf die Platte schreibe und lese die ganze Zeit.
 
Zuletzt bearbeitet:

turtle

Top Contributor
was mich so wundert, warum der gc den alle threads kurz blocked
Das nennt man bei der Garbage Collection STOP-THE-WORLD und lässt sich nicht vermeiden egal welchen GC-Algorithmus du nimmst.

Du kannst "lediglich" dafür sorgen, das du weniger Aufrufe und/oder kürzere Zeiten einer GC erhältst. Aber grundsätzlich bleiben ALLE Threads (für kurze Zeit) stehen, daher der Name stop-the-world.

Es ist ein ziemlicher Aufwand hier einen guten Kompromiss zwischen Performance und Durchsatz zu erhalten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Garbage collector Allgemeine Java-Themen 3
D Garbage Collector Allgemeine Java-Themen 3
A Garbage Collector Allgemeine Java-Themen 3
A Garbage Collector in NetBeans vs. exe Anwendung Allgemeine Java-Themen 33
H2SO3- SCJP garbage collector frage Allgemeine Java-Themen 13
R Garbage Collector löscht anscheinend nichts Allgemeine Java-Themen 22
S Garbage Collector entlasten Allgemeine Java-Themen 2
JStickman Der Garbage Collector Allgemeine Java-Themen 13
P Threads ohne Referenz & der Garbage Collector Allgemeine Java-Themen 2
S garbage collector prog Allgemeine Java-Themen 4
S Threads <-> Garbage Collector Allgemeine Java-Themen 2
M Java Garbage Collector Frage (Singleton Pattern) Allgemeine Java-Themen 13
P Garbage Collector funktioniert nicht richtig? Allgemeine Java-Themen 12
M Problem mit garbage collector Allgemeine Java-Themen 19
R Garbage Collector rennt die ganze Zeit Allgemeine Java-Themen 7
M Garbage Collector Allgemeine Java-Themen 5
T Garbage Collection Frage Allgemeine Java-Themen 15
B Garbage Collection Logfile: Binary File Allgemeine Java-Themen 2
hdi Garbage Collection Allgemeine Java-Themen 12
T Objekt der Garbage Collection zugaenglich machen? Allgemeine Java-Themen 7
F Frage zu Memory Leak, Garbage Collection und Profiler-Tools Allgemeine Java-Themen 6
M Wie lange dauert ein garbage collection Allgemeine Java-Themen 7
R Garbage Collection bei gegenseitiger Objektreferenz Allgemeine Java-Themen 2
M Garbage manuell loswerden Allgemeine Java-Themen 29
M garbage collection Allgemeine Java-Themen 14
G Frage zur Garbage Collection Allgemeine Java-Themen 5
H Collector Generics Problem (incl. Stream & Lambda) Allgemeine Java-Themen 4
P Grabage Collector Allgemeine Java-Themen 8
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
Kiki01 Häufigster Buchstabe lässt sich nicht ermitteln Allgemeine Java-Themen 30
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
O Jar lässt sich auf bestimmten Pc nicht starten Allgemeine Java-Themen 18
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
T Login lässt App crashen! Allgemeine Java-Themen 14
G Jar lässt sich mit macOS nicht starten Allgemeine Java-Themen 9
S Compiler-Fehler IntelliJ Projektdatei lässt sich nicht erstellen. Allgemeine Java-Themen 15
E GUI.jfm lässt sich nicht mehr öffnen Allgemeine Java-Themen 1
K jar-Datei lässt sich unter Windows nicht verwenden Allgemeine Java-Themen 3
L Jar lässt sich nicht öffnen Allgemeine Java-Themen 12
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
K Java lässt sich nicht Installieren Windows7Ultimate 64Bit Allgemeine Java-Themen 1
D swingset3.jnlp lässt sich nicht ausführen Allgemeine Java-Themen 2
F Spiel lässt sich nicht aus GUI starten Allgemeine Java-Themen 5
J setUndecorated lässt GUI "spacken" Allgemeine Java-Themen 52
R Windows-Firewall lässt Java nicht durch Allgemeine Java-Themen 17
N Java lässt sich nicht löschen! Allgemeine Java-Themen 7
D Java Excel API - Schreiben in Excel lässt sich nicht über Makro starten Allgemeine Java-Themen 18
P jar-Datei lässt sich nicht ausführen Allgemeine Java-Themen 5
J Java programm lässt sich in win7 nach linux install nicht mehr ausführen Allgemeine Java-Themen 18
D JMF - lässt sich nicht im ausgewählten Format aufnehmen Allgemeine Java-Themen 2
M Java lässt sich nicht installieren Allgemeine Java-Themen 10
J pack() lässt JFrame grau Allgemeine Java-Themen 3
V JRE lässt sich nicht installieren. Allgemeine Java-Themen 10
L JDK lässt sich nicht deinstallieren Allgemeine Java-Themen 3
T KeyListener lässt sich nur einmal drücken Allgemeine Java-Themen 2
T Datenbank lässt sich un Entwicklungsumgebung öffnen, aus .jar aber nicht Allgemeine Java-Themen 9
D Shell-Prozess lässt Thread nicht enden Allgemeine Java-Themen 4
S HWPF Problem: doc lässt sich nach Bearbeitung nicht mehr lesen Allgemeine Java-Themen 6
T (nur) HP Photosmart Drucker lässt einzelne Seiten aus Allgemeine Java-Themen 6
G Thread lässt sich mit interrupt() nicht unterbrechen Allgemeine Java-Themen 6
S Lässt sich eigne JPanel Klasse in ein Array "stecken&qu Allgemeine Java-Themen 5
Noar Klasse lässt sich nicht kompilieren Allgemeine Java-Themen 2
J jacob - lässt sich nicht installieren Allgemeine Java-Themen 8
J Simpler Thread lässt sich NIE über interrupt() unterbrechen Allgemeine Java-Themen 8
H Java lässt sich nicht öffnen. Allgemeine Java-Themen 16
S Javaprogramm lässt sich nicht per .bat Datei ausführen. Allgemeine Java-Themen 22
E Programm lässt sich nicht starten ! Allgemeine Java-Themen 16
S habe programm aber es lässt sich net mit bild einbinden! Allgemeine Java-Themen 4
M Access lässt sich nicht über "exec(command)" start Allgemeine Java-Themen 3
H DataOutputStream Ob lässt sich nicht vergleichen mit Strings Allgemeine Java-Themen 5
B jar-Datei lässt sich nicht ausführen Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben