PermGen은 정적 변수, 바이트 코드 등과 같은 클래스 데이터를 저장하기 위한 메모리 영역입니다. PermGen에는 기본적으로 64Mb가 할당됩니다. -XXMaxPermSize를 사용하여 조정할 수 있습니다.
Java 8에서는 PermGen 메소드 영역이 MetaSpace로 대체되었습니다. 그들은 permGem을 기본 OS의 별도 메모리로 이동했으며 이를 MetaSpace라고 합니다. 기본적으로 자동으로 크기를 늘릴 수 있습니다. MetaSpace에서 클래스는 JVM의 수명 동안 로드 및 언로드할 수 있습니다.
Sr. 아니요. | 키 | PermGen | 메타스페이스 |
---|---|---|---|
1 | 기본 | PermGen은 정적 변수, 바이트 코드 등과 같은 클래스 데이터를 저장하는 메모리 영역입니다. | Java 8에서 PermGen 메소드 영역이 MetaSpace로 대체됨 |
2 | 기본 메모리 할당 | 기본적으로 PermGen에는 64Mb가 할당됩니다. | 기본적으로 크기를 자동으로 늘릴 수 있습니다. |
3 | 조정된 메모리 플래그 | -XXMaxPermSize를 사용하여 조정할 수 있습니다. | -XX:MaxMetaspaceSize로 메모리의 상한을 제한할 수 있습니다. |
4 | 메모리 영역 | 특별한 힙 공간입니다. | Java 8 이후로, 이제 네이티브 OS에서 별도의 메모리 영역입니다. |