스프링 부트 기본 메모리 설정은 무엇입니까?
예를 들어 정의 없이 IDE에서 단순 봄 부팅 앱을 실행/디버깅하는 경우 초기 힙 크기, 최대 힙 크기 및 스택 크기(-Xms, -Xmx, -Xss)가 설정됩니까?
기본적으로 Spring Boot 앱은 JVM 기본 메모리 설정을 사용합니다.
기본 힙 크기
물리적 메모리 크기가 최대 192MB인 경우 기본 최대 힙 크기는 물리적 메모리의 절반입니다.
물리적 메모리 크기가 192MB 이상인 경우 기본 최대 힙 크기는 물리적 메모리의 4분의 1입니다.
예를 들어 시스템에 128MB의 물리적 메모리가 있는 경우 최대 힙 크기는 64MB이며 물리적 메모리가 1GB 이상이면 최대 힙 크기는 256MB가 됩니다.
프로그램에서 필요한 만큼의 개체를 만들지 않는 한 JVM에서 최대 힙 크기를 실제로 사용하지 않습니다.JVM 초기화 중에는 초기 힙 크기라고 하는 훨씬 적은 양이 할당됩니다.이 양은 최소 8MB이며 물리적 메모리의 64분의 1이며 최대 1GB의 물리적 메모리 크기입니다.
젊은 세대에 할당된 최대 공간은 전체 힙 크기의 3분의 1입니다.
다음 명령을 사용하여 시스템별 기본값을 확인할 수 있습니다.
Linux:
java -XX:+PrintFlags최종 버전 | grep 힙 크기
Windows:
java -XX:+PrintFlagsFinal -version | findstr 힙 크기
참조: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html#default_heap_size
기본 스레드 스택 크기
기본 스레드 스택 크기는 JVM, OS 및 환경 변수에 따라 달라집니다.
플랫폼의 기본 스레드 스택 크기를 확인하려면 다음을 사용합니다.
Linux의 경우:
java -XX:+PrintFlags최종 버전 | grep ThreadStackSize
Windows의 경우:
java -XX:+PrintFlagsFinal -version | findstr ThreadStackSize
Java 시작 중에 "Xmx" 옵션이 제공되지 않는 경우 일반적으로 전체 물리적 메모리의 25%입니다.
유닉스/리눅스 시스템에서 다음을 수행할 수 있습니다.
java -XX:+PrintFlagsFinal -version | grep HeapSize
Windows에서 다음 명령을 사용하여 기본값을 확인합니다.
java -XX:+PrintFlagsFinal -version | findstr HeapSize
MaxHeapSize(-Xmx의 경우) 및 InitialHeapSize(-Xms의 경우) 옵션을 찾습니다.
결과 출력은 바이트 단위입니다.
언급URL : https://stackoverflow.com/questions/38564648/what-is-the-spring-boot-default-memory-settings
'programing' 카테고리의 다른 글
TS 오류:'string' 형식이 배열 형식이나 문자열 형식이 아닙니다.어떻게 끈이 끈이 아닌가요? (0) | 2023.06.22 |
---|---|
BIT 열의 MAX 값 가져오기 (0) | 2023.06.22 |
Cloud Firestore와 Firebase 실시간 데이터베이스의 차이점은 무엇입니까? (0) | 2023.06.22 |
루비: 보석을 어떻게 쓰나요? (0) | 2023.06.22 |
matplotlib를 사용하여 범례 프레임의 테두리 제거 또는 조정 (0) | 2023.06.22 |