[JAVA] So identifizieren Sie die Ursache, wenn GC häufig auftritt und die CPU-Auslastung hoch ist

Als ich den Bildschirm in Java entwickelte und testete, hat sich der anfangs schnelle Prozess verlangsamt. Der Bildschirm ist ein Prozess, der Informationen, die den Suchbedingungen entsprechen, als EXCEL-Informationen ausgibt. Als ich den Status des Servers (UNIX) im langsamen Zustand überprüfte, war die Nutzungsrate des Hauptprozesses (Java-Hauptprozess) des AP-Servers hoch und verbrauchte ungefähr 30%, selbst wenn der Bildschirm nicht angezeigt wurde. Es ist ein Staat. Zusätzlich trat GC so auf, wie es war. Nach einer Zeit der Langsamkeit trat während eines Urlaubs, in dem niemand es benutzte, 3 Tage lang alle 3 Minuten eine vollständige GC auf, wonach das Phänomen der Verlangsamung verschwand. (Die CPU-Auslastungsrate wird ebenfalls eliminiert.) Ich weiß nicht, ob es sich um ein Phänomen handelt, das nach einer langen Nutzungsdauer auftritt, aber ich möchte die Grundursache herausfinden und würde mich über jeden Rat freuen. Java-Version ist 8. Ich weiß nicht, wie ich nachforschen soll, daher würde ich mich über jeden Rat freuen.

Recommended Posts

So identifizieren Sie die Ursache, wenn GC häufig auftritt und die CPU-Auslastung hoch ist
Festlegen, wann in junit "Der Konstruktor Empty () ist nicht sichtbar" auftritt
So lösen Sie das Problem, wenn der Wert nicht gesendet wird, wenn das Formular in Schienen deaktiviert und gesendet wird
[jOOQ] Wie in der WHERE / AND / OR-Klausel WANN FALLEN
So identifizieren Sie den Pfad, auf dem leicht Fehler gemacht werden können
Wie man die Zehner und Einsen findet
So finden Sie die Ursache des Ruby-Fehlers
So löschen Sie die Datenbank beim Neuerstellen der App
So finden Sie die Gesamtpunktzahl und die Durchschnittspunktzahl
Wenn der Schwebeflug von Eclipse schwer zu sehen ist
Wie weit ist die richtige Antwort, um den Prozess zu teilen?
Lesen von Java Memory Management und GC Viewer
So führen Sie einen bestimmten Vorgang aus, wenn die Zurück-Taste im Android-Fragment gedrückt wird
[Android] So überprüfen Sie, ob der Google Play-Entwicklerdienst beim Starten der Anwendung installiert ist
Überprüfen Sie, wie Sie das Zeitlimit festlegen, wenn Sie eine Verbindung zu Spring + HikariCP + MySQL herstellen und SQL ausführen