developer tip

CMSPermGenSweepingEnabled 대 CMSClassUnloadingEnabled

optionbox 2020. 11. 12. 08:08
반응형

CMSPermGenSweepingEnabled 대 CMSClassUnloadingEnabled


전에이 질문을했습니다. JVM 플래그 CMSClassUnloadingEnabled는 실제로 무엇을합니까? 하지만 이번에는 약간 다릅니다!

-XX:+CMSPermGenSweepingEnabled플래그가 설정된 Java VM을 시작 하면 다음 메시지가 인쇄됩니다.

앞으로 CMSPermGenSweepingEnabled 대신 CMSClassUnloadingEnabled를 사용하십시오.

-XX:+CMSPermGenSweepingEnabled플래그는 종종을 완화하는 데 사용됩니다 PermGen OutOfMemory하지만 내가 한 오류 다른 곳에서 읽을 사람들이 여전히 이러한 오류를 가지고있는 위의 조언을 따라하지만 고수하여 해당 발견했다고 -XX:+CMSPermGenSweepingEnabled뿐만 아니라 -XX:+CMSClassUnloadingEnabled자신의 VM이 더 이상 다시 시작 사이의 최대 머물렀다.

-XX:+CMSClassUnloadingEnabled정말로 대체 합니까 아니면 -XX:+CMSPermGenSweepingEnabled둘 다 갖는 것이 여전히 약간의 이점이 있습니까?

미리 감사드립니다

Rich ps : perm gen 문제의 근본 원인은 여전히 ​​일반적으로 Classloader 누출이라는 ​​것을 알고 있습니다. 이것은 위의 옵션을 사용하면 JVM이 생성하는 메시지에 대한 것입니다.


내가 알 수 있듯이 1.6 JVM이 수행하는 유일한 작업 CMSPermGenSweepingEnabled은 해당 메시지를 인쇄하는 것입니다. 1.5에서와 같이 처리되지 않습니다. 를 들어 CMSClassUnloadingEnabled어떤 영향을 미칠 것으로, UseConcMarkSweepGC도 설정해야합니다.

참고 URL : https://stackoverflow.com/questions/3717937/cmspermgensweepingenabled-vs-cmsclassunloadingenabled

반응형