환경 변수를 통해 Java의 최소 및 최대 힙 크기를 어떻게 설정합니까?

StackOverflow https://stackoverflow.com/questions/417152

문제

환경 변수를 통해 Java의 최소 및 최대 힙 크기를 어떻게 설정합니까?

Java를 시작할 때 힙 크기를 설정할 수 있지만 서버의 환경 변수를 통해 조정하고 싶습니다.

도움이 되었습니까?

해결책

환경 변수를 직접 사용하여 수행 할 수 없습니다. Java 명령에 전달되는 "비 표준"옵션 세트를 사용해야합니다. 실행 : 자세한 내용은 Java -X입니다. 당신이 찾고있는 옵션은 -xmx 및 -xms입니다 (이것은 초기 힙 크기 일 것입니다. 아마 당신이 찾고있는 것일 것입니다.)

Ant 또는 Tomcat과 같은 일부 제품에는 Java_opts 환경 변수를 찾는 배치 스크립트가 제공 될 수 있지만 Java 런타임의 일부는 아닙니다. 해당 제품 중 하나를 사용하는 경우 다음과 같은 변수를 설정할 수 있습니다.

set JAVA_OPTS="-Xms128m -Xmx256m"  

다음과 같은 자신의 명령 줄로이 접근 방식을 취할 수도 있습니다.

set JAVA_OPTS="-Xms128m -Xmx256m"  
java ${JAVA_OPTS} MyClass

다른 팁

당신이 원한다면 java 개미 나 Tomcat뿐만 아니라 -Xmx 환경 변수를 사용하십시오 _JAVA_OPTIONS.

Bash에서 : export _JAVA_OPTIONS="-Xmx1g"

실제로 환경 변수를 통해 SUN의 JVM에 대한 글로벌 기본값을 설정하는 방법이 있습니다.

보다 JVM이 명령 줄 인수에 추가하지 않고 JVM을 시작할 때마다 효과적인 Java 시스템 속성을 설정하는 방법.

환경 변수를 사용하여 할 수 없습니다. "비 표준"옵션을 통해 수행됩니다. 운영: java -X 자세한 내용은. 당신이 찾고있는 옵션은입니다 -Xmx 그리고 -Xms (이것은 "초기"힙 크기이므로 아마도 당신이 찾고있는 것입니다.)

유일한 옵션은 환경 변수를 명령 줄로 대체하는 스크립트로 Java를 래핑하는 것입니다.

몇 가지 메모 :

  1. Apache Ant는 Java_opts에 대해 아무것도 모르지만 Tomcat의 스타트 업 스크립트는 그렇지 않습니다. Apache Ant의 경우 Ant_Opts를 사용하여 /ant /를 실행하는 JVM의 환경에 영향을 미치지 만 ANT가 시작될 수있는 것들에 영향을 미치지는 않습니다.

  2. 설정할 수있는 최대 힙 크기는 전적으로 환경에 따라 다릅니다. 대부분의 32 비트 시스템의 경우 사용 가능한 메모리에 관계없이 요청할 수있는 최대 힙 공간의 양은 2GIB 범위에 있습니다. 64 비트 시스템에서 가장 큰 힙은 "정말 큽니다". 또한 힙은 JVM에 의해 관리되며 디스크에 많은 스왑을하는 것을 원하지 않기 때문에 물리적 메모리에 의해 실질적으로 제한됩니다.

  3. 서버 환경의 경우 일반적으로 -xms 및 -xmx를 동일한 값으로 설정하려고합니다. 이는 특정 크기로 힙의 크기를 수정하고 쓰레기 수집기는 힙이 다시 할 필요가 없기 때문에해야 할 작업이 적습니다. 크기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top