OutOfMemoryError: GC OverheadOutOfMemoryError — GC Overhead Limit Exceeded
Garbage collector spędza zbyt dużo czasu na zbieraniu przy minimalnej ilości odzyskanej pamięci.
Co powoduje ten błąd
JVM spędza ponad 98% czasu na garbage collection, odzyskując mniej niż 2% sterty. Wskazuje to, że aplikacja działa bardzo blisko limitów pamięci.
Jak to naprawić
Zwiększ rozmiar sterty za pomocą -Xmx. Profiluj pod kątem wycieków pamięci. Zmniejsz wskaźnik alokacji obiektów. Optymalizuj struktury danych, aby używały mniej pamięci. Rozważ wydajniejsze kolekcje.
Powiązane kody błędów
FileNotFoundExceptionFileNotFoundException
Podana ścieżka pliku nie istnieje lub nie można jej otworzyć.
DirectoryNotEmptyExceptionDirectoryNotEmptyException
Usunięcie katalogu kończy się niepowodzeniem, ponieważ katalog nie jest pusty.
CloneNotSupportedExceptionCloneNotSupportedException
Metoda clone() jest wywoływana na obiekcie, którego klasa nie implementuje Cloneable.
ClassNotFoundExceptionClassNotFoundException
Klasy nie można znaleźć na ścieżce klas (classpath) w czasie wykonania.
StackOverflowErrorStackOverflowError
Stos wywołań przekroczył swój maksymalny rozmiar, zazwyczaj z powodu głębokiej lub nieskończonej rekurencji.
BrokenBarrierExceptionBrokenBarrierException
CyclicBarrier jest w stanie uszkodzonym, gdy wątek próbuje wywołać await.