perm: 2개의 글
CMS 는 Default로 PERM 제너레이션을 처리하지 않는다. 때문에 PERM 영역이 가득차면 CMS는 Full GC를 수행한다. -XX:CMSPermGenSweepingEnabled ( Default : false ) -XX:CMSInitiatingPermOccupancyFraction=N ( Default : 80% ) -XX:+CMSClassUnloadingEnabled ( Default : true ) CMSPermGenSweepingEnabled => PERM 이 CMS의 스레드에 의해 처리되도록 지정한다 CMSInitiatingPermOccupancyFraction = N => PERM의 N%가 가득 찼을 때, PERM 영역을 처리하는 스레드를 실행시킨다. CMSClassUnloadingE..
펌 영역에서 OOME(Out Of Memory Error)가 발생하면 아래와 같이 로그가 남는다 펌( PERM : Permanent Generation) 영역은 객체의 생명주기가 영구적일 것으로 생각하는 객체들을 관리한다. 이 영역은 GC대상에서 제외된다. 주로 자바의 Class 객체들이나 문자열에 속한 String 객체들이 위치한다. Class 객체들은, 시스템의 Classpath에 잡힌 객체들 또는 사용자에 의해 다이나믹하게 로드되는 클래스들이 있다. Spring같은 프레임워크들은 다이나믹하게 사용자가 정의한 클래스 정보를 로드한다. 주로 이 때 다이나믹하게 로드되는 클래스들에 의해 PERM영역의 OOME가 발생한다. 어떤 클래스 정보를 로드할 때, 해당 클래스의 정보만 로드하는 것이 아니라, 클래스..