Bye, Bye PermGen, Hello Metaspace
PermGen đã được loại bỏ hoàn toàn.
Thu gom rác Metaspace - Thu gom rác của các lớp đã chết và trình nạp lớp được kích hoạt khi sử dụng siêu dữ liệu lớp đạt đến MaxMetaspaceSize
.
Không gian Metadata
đã được giữ không còn tiếp giáp với Java heap
, metadata
hiện đã được chuyển sang bộ nhớ riêng sang một khu vực được gọi là Metaspace
.
Nói cách đơn giản,
Kể từ khi siêu dữ liệu lớp được phân bổ ra khỏi bộ nhớ quê hương, không gian có sẵn max là tổng bộ nhớ hệ thống có sẵn. Do đó, bạn sẽ không còn gặp phải OOM errors
và có thể sẽ tràn vào không gian hoán đổi.
Việc xóa PermGen
không có nghĩa là các sự cố rò rỉ trình tải lớp của bạn đã biến mất. Vì vậy, có, bạn vẫn sẽ phải theo dõi mức tiêu thụ của bạn và lập kế hoạch cho phù hợp, vì rò rỉ sẽ kết thúc tiêu thụ toàn bộ bộ nhớ riêng của bạn.
Một số bài báo khác, với phân tích: Link1, Link2, và this
Nguồn
2014-11-25 16:00:38
đầu tiên kết quả google: http://www.infoq.com/articles/Java-PERMGEN-Removed – the8472
@ the8472 Vâng, nhưng điều này (và nhiều người khác) kết quả google mô tả cơ chế Metaspace chỉ, không đề cập đến bất cứ điều gì về sự khác biệt chính xác giữa điều này và PermGen. – Kao