CMSPermGenSweepingEnabled vs CMSClassUnloadingEnabled
Biraz önce bu soruyu sordum - What does JVM flag CMSClassUnloadingEnabled actually do?, ama bu sefer biraz farklı!
-XX: CMSPermGenSweepingEnabled
bayrağı ayarlanmış bir Java VM başlarsam, aşağıdaki mesajı yazdırılır:
Gelecekte CMSPermGenSweepingEnabled yerine CMSClassUnloadingEnabled lütfen
-XX: CMSPermGenSweepingEnabled
bayrak sıklıkla kullanılan hafifletmek karşı PermGen OutOfMemory
hatalar, ancak ben read elsewhere Bu insanların bulduğu şu yukarıdaki tavsiyeler var hala bu hataları vardı, ama e -XX: CMSPermGenSweepingEnabled
-XX: CMSClassUnloadingEnabled
VM var kaldı daha uzun arasında yeniden başlatır.
-XX: CMSClassUnloadingEnabled
gerçekten -XX: CMSPermGenSweepingEnabled
yerini mi ya da her ikisini onlara sahip olmanın bazı faydaları var mı?
Şimdiden teşekkürler
Zengin ps: eğer yukarıdaki seçenekleri kullanırsak perm gen sorunlarının temel nedeni hala genellikle Classloader sızıntı olduğunu biliyorum, bu konuda daha fazla JVM üreten mesaj.
CEVAP
Anladığım kadarıyla, 1.6 JVM CMSPermGenSweepingEnabled
ile olan tek şey bu mesajı yazdırma - işlenmiş değil 1.5 da böyle. CMSClassUnloadingEnabled
herhangi bir olumsuz etki UseConcMarkSweepGC
için de ayarlanması gerekir.
JVM bayrak CMSClassUnloadingEnabled ta...