ลาก่อน PermGen สวัสดี Metaspace
PermGenถูกลบออกทั้งหมด
การรวบรวมขยะ Metaspace - การรวบรวมขยะของคลาสที่ตายแล้วและตัวโหลดคลาสจะถูกทริกเกอร์เมื่อการใช้งานข้อมูลเมตาของคลาสไปถึงไฟล์MaxMetaspaceSize
.
พื้นที่Metadata
ที่จัดขึ้นจะไม่ต่อเนื่องกันกับJava heap
ที่ตอนนี้ได้ย้ายหน่วยความจำพื้นเมืองไปยังพื้นที่ที่เรียกว่าmetadata
Metaspace
ในคำง่ายๆ ,
เนื่องจากข้อมูลเมตาของคลาสถูกจัดสรรออกจากหน่วยความจำดั้งเดิมพื้นที่ว่างสูงสุดที่พร้อมใช้งานคือหน่วยความจำระบบทั้งหมดที่มีอยู่ ดังนั้นคุณจะไม่พบอีกต่อไปOOM errors
และอาจจะล้นเข้าไปในพื้นที่แลกเปลี่ยน
การลบPermGen
ไม่ได้หมายความว่าปัญหาการรั่วไหลของตัวโหลดคลาสของคุณจะหมดไป ใช่แล้วคุณยังคงต้องตรวจสอบการบริโภคของคุณและวางแผนตามนั้นเนื่องจากการรั่วไหลจะทำให้หน่วยความจำดั้งเดิมของคุณหมดไป
บทความอื่น ๆ พร้อมการวิเคราะห์: Link1 , Link2และสิ่งนี้