OutOfMemoryError: GC OverheadOutOfMemoryError — GC Overhead Limit Exceeded
Bộ thu gom rác dành quá nhiều thời gian thu dọn nhưng giải phóng được rất ít bộ nhớ.
Nguyên nhân gây ra lỗi này
JVM tiêu tốn hơn 98% thời gian chạy GC trong khi chỉ thu hồi được dưới 2% heap. Điều này cho thấy ứng dụng đang hoạt động gần đến giới hạn bộ nhớ.
Cách sửa
Tăng kích thước heap bằng -Xmx. Phân tích rò rỉ bộ nhớ. Giảm tốc độ cấp phát đối tượng. Tối ưu cấu trúc dữ liệu để dùng ít bộ nhớ hơn. Cân nhắc sử dụng các collection hiệu quả hơn.
Mã lỗi liên quan
FileNotFoundExceptionFileNotFoundException
Đường dẫn tệp được chỉ định không tồn tại hoặc không thể mở được.
DirectoryNotEmptyExceptionDirectoryNotEmptyException
Xóa thư mục thất bại vì thư mục không rỗng.
CloneNotSupportedExceptionCloneNotSupportedException
Phương thức clone() được gọi trên đối tượng có class không cài đặt Cloneable.
ClassNotFoundExceptionClassNotFoundException
Một lớp không thể tìm thấy trên classpath tại runtime.
StackOverflowErrorStackOverflowError
Call stack đã vượt quá kích thước tối đa, thường do đệ quy sâu hoặc vô hạn.
BrokenBarrierExceptionBrokenBarrierException
Một CyclicBarrier đang ở trạng thái hỏng khi một luồng cố gắng await.