Wir verwenden JDK 8 und einige unserer Prozesse geben OOM "komprimierten Klassenraum". Wir protokollieren GC und unsere jvm-Datei statistics.log gibt derzeit die folgende Art von Protokolleinträgen an:java zum Verfolgen und Anpassen von Compression Class Space
2017-06-30 03: 57: 07,944 INFO - HEAP - [VERWENDUNG: 1678,7, FREI: 986,7, GESAMT: 2665,5 , MAX: 2665.5]; PERM - [VERWENDUNG: N/A, FREI: N/V, MAX: N/V]; KLASSEN - [Geladen: 1832624, entladen: 637, links: 1831987]; Threads - [Anzahl: 92]
Wir fragen uns, ob das Hinzufügen der Flags "-XX: + TraceClassUnloading -XX: + TraceClassLoading" würde uns wissen lassen, welchen Wert wir für den "Compressed Class Space" (-XX : KomprimierteClassSpaceSize)? Wenn ja, wie bestimmen wir die Größe aus den Ablaufverfolgungsprotokollen?
Wenn Sie nicht wissen, was der beste Wert für diese Option ist, geben Sie diese Option nicht an und lassen Sie die JVM wählen. Wenn Sie der Meinung sind, dass 1832624 Klassen ziemlich groß sind, können Sie in Ihrer Anwendung nach Lecks suchen. – Holger