Trung BìnhJava iconJava

OutOfMemoryError là gì và làm thế nào để phòng tránh?

OutOfMemoryError xảy ra khi JVM không thể cấp phát bộ nhớ cho object mới — heap đã đầy và GC không thể giải phóng đủ.

Nguyên nhân:

  1. memory leak (object được giữ reference nhưng không dùng).
  2. data structure quá lớn.
  3. heap size không đủ. Phòng tránh:
  4. tăng heap: -Xmx2048m.
  5. fix leak (tìm và xóa reference thừa).
  6. tối ưu collection.
  7. profiling với JProfiler, VisualVM, heap dump. java.lang.OutOfMemoryError: Java heap space là loại thường gặp nhất

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java