Was ist der einfachste Weg, um Oracle Java 8 JVM Garbage Collector Durchsatz zu bestimmen, vorzugsweise mit JDK Kommandozeilen-Tools?Wie kann der JVM-GC-Durchsatz ermittelt werden?
Mit dem Befehl Jstat kann ich die gesamte Speicherbereinigung Zeit (GCT-Spalte) abrufen. Basierend auf dem Vergleich der Änderungen dieses Werts mit GC-Protokollen scheint der von Jstat ausgegebene GCT-Wert die kumulierte GC-verstrichene Zeit in Sekunden (seit JVM-Start) zu sein. Ist das korrekt?
Kann ich den GC-Durchsatz so berechnen?
1 - GCT/time_since_jvm_start
jstat könnte verwendet werden, um sowohl die GC und Zeit seit JVM zu erhalten starten Sie den folgenden Befehl:
jstat -gcutil -t <jvm-pid> 1000 1
Was meinen Sie mit GC-Durchsatz? Es scheint mir, wenn Sie Ihre Frage lesen, Sie versuchen, den Prozentsatz der Zeit in GC zu berechnen? –
Hier ist die Definition aus dem "HotSpot Virtual Machine Garbage Collection Tuning Guide": "Durchsatz ist der Prozentsatz der Gesamtzeit, die nicht in der Garbage Collection über lange Zeiträume betrachtet wird. Der Durchsatz beinhaltet die für die Zuweisung aufgewendete Zeit im Allgemeinen nicht benötigt). " – marko
eine andere Vorstellung von Durchsatz ist Megabytes gesammelt pro Kern-Zeit oder Wandzeit. Wie auch immer, anstatt jstat zu verwenden, könntest du auch gc logging aktivieren und [gcviewer] verwenden (https://github.com/chewiebug/GCViewer) – the8472