-
GraalVM 메모리 관리 간단 정리Java, Kotlin, Spring 2023. 4. 7. 16:03
Heap 메모리
GraalVM에서는 전체 메모리 중 일부를 Heap 메모리로 사용한다.Heap 메모리는 객체 인스턴스를 저장하기 위한 공간이고, Young Generation과 Old Generation이라는 두 개의 영역이 있다.
Young Generation은 새로운 객체가 생성되는 공간이며, Old Generation은 Young Generation에서 살아남은 객체가 이동하는 공간이다. Heap 메모리는 가비지 컬렉션이 발생하는 공간이기도 하다.
Native 메모리
GraalVM에서는 Native 메모리를 사용한다. Native 메모리는 JVM 바깥에서 할당되는 메모리 공간으로, C/C++ 등의 네이티브 코드에서 사용된다.
Code Cache
GraalVM에서는 Code Cache라는 공간을 사용한다. Code Cache는 JIT 컴파일된 코드를 저장하는 공간이다. 이를 통해 반복적으로 실행되는 코드를 더 빠르게 실행할 수 있다.
Metaspace
GraalVM에서는 Metaspace라는 공간을 사용한다. Metaspace는 클래스 정보 등 JVM 내부적으로 사용되는 메타데이터를 저장하는 공간이다.
Thread Stack
GraalVM에서도 JVM과 마찬가지로 스레드마다 별도의 스택을 사용한다. 스택은 각각의 스레드에서 사용되는 지역 변수 및 메서드 호출 정보 등을 저장한다.
일반적으로 이러한 메모리 구조를 통해 GraalVM은 기존의 JVM보다 더욱 효율적인 메모리 관리를 가능하게 한다.반응형'Java, Kotlin, Spring' 카테고리의 다른 글
spring cloud function 에 대해서 (0) 2023.05.16 Spring 6, Springboot 3.0 새로운 기능 (0) 2023.04.07 Spring 6 Http Interface (0) 2023.04.07 Spring Data 분석하기 - 1편 소개 (0) 2022.08.11 Spring data mongodb multiple database config 설정하기 (0) 2022.06.24