OutOfMemoryError: GC OverheadOutOfMemoryError — GC Overhead Limit Exceeded
Der Garbage Collector verbringt zu viel Zeit mit der Bereinigung bei zu wenig zurückgewonnenem Speicher.
Was verursacht diesen Fehler
Die JVM wendet mehr als 98 % ihrer Zeit für die Garbage Collection auf und gewinnt dabei weniger als 2 % des Heaps zurück. Dies zeigt an, dass die Applikation sehr nah an den Speichergrenzen läuft.
So beheben Sie ihn
Erhöhen Sie die Heap-Größe mit -Xmx. Erstellen Sie ein Profil zur Suche nach Speicherlecks. Reduzieren Sie die Objektallokationsrate. Optimieren Sie Datenstrukturen für geringeren Speicherbedarf. Erwägen Sie den Einsatz effizienterer Collections.
Verwandte Fehlercodes
FileNotFoundExceptionFileNotFoundException
Der angegebene Dateipfad existiert nicht oder kann nicht geöffnet werden.
DirectoryNotEmptyExceptionDirectoryNotEmptyException
Das Löschen eines Verzeichnisses schlägt fehl, weil es nicht leer ist.
CloneNotSupportedExceptionCloneNotSupportedException
Die Methode clone() wird auf einem Objekt aufgerufen, dessen Klasse Cloneable nicht implementiert.
ClassNotFoundExceptionClassNotFoundException
Eine Klasse kann zur Laufzeit nicht im Classpath gefunden werden.
StackOverflowErrorStackOverflowError
Der Call-Stack hat seine maximale Größe überschritten, meist durch tiefe oder unendliche Rekursion.
BrokenBarrierExceptionBrokenBarrierException
Eine CyclicBarrier befindet sich in einem defekten Zustand, wenn ein Thread await() aufruft.