HOWTO · Java

JVM -XSS 옵션

이 자습서에서는 Java의 -Xss 옵션에 대해 설명합니다.

Java 애플리케이션에는 스레드가 있고 각 스레드에는 스택이 있습니다. 가상 머신의 스택은 주로 반환 주소, 메서드 호출 인수 등을 보관하는 데 사용됩니다.

이제 큰 구조의 스레드가 재귀 알고리즘을 사용하여 처리하려고 할 때 큰 크기의 스택이 필요할 수 있습니다.

JVM 또는 JVM에서 스택에는 사용 가능한 기본 크기가 있습니다. 모든 JVM 스레드에는 Call Stack 정보, 결과 및 로컬 변수를 저장하는 Private Native Stack이 포함되어 있습니다.

이제 JVM 스택의 크기는 주로 JVM이 실행 중인 운영 체제에 따라 다릅니다.

운영 체제 JVM 스택 기본 크기
리눅스 1MB
맥 OS 1MB
오라클 솔라리스 1MB
윈도우 JVM 스택은 시스템 전체 스택 크기를 사용합니다.

이 기사에서는 Java의 -Xss에 대해 설명하고 JVM 스택의 기본 크기를 변경하는 방법을 살펴봅니다.

-Xss 플래그는 주로 JVM 스택의 크기를 변경하는 데 사용됩니다. JVM 스택의 크기를 변경할 수 있는 아래 명령을 살펴보겠습니다.

-Xss를 사용하여 JVM 스택의 크기 변경

JVM 스택의 현재 기본 크기를 변경하려면 아래 명령을 따를 수 있습니다.

java -Xss1048576

위 명령에서 숫자 1048576은 1MB를 의미합니다. 하지만 계산이 싫다면 아래 명령을 편집할 수 있습니다.

java -Xss1024k

위의 예에서 1024k는 1MB를 의미하므로 1048576 대신 1024k를 사용했습니다. 그러나 아래와 같이 명령에서 1MB를 직접 언급할 수 있습니다.

java -Xss1m

JVM 스택의 크기를 변경하는 다른 방법

플래그 -XX를 사용하여 JVM 스택의 현재 크기를 변경하는 다른 방법도 있습니다. 이를 사용하려면 아래 명령을 따를 수 있습니다.

java -XX:ThreadStackSize=1024

몇 가지 중요한 참고 사항

이러한 명령으로 작업할 때 몇 가지 중요한 규칙을 따라야 합니다.

  1. 최대값인 1GB보다 큰 크기는 제공할 수 없습니다.
  2. 최소값인 1MB보다 작은 크기는 제공할 수 없습니다.

이러한 명령은 JVM 또는 JVM용입니다.