2014-09-04 4 views
1

시스템 전체를 기반으로 JVM에 할당되는 메모리 양을 늘리기 위해 this answer을 추적했습니다. 그것은 자바 프로세스에 대한 설정을 얻는 한 광고하는 것처럼 작동합니다. 그러나어떤 JVM 옵션이 우선합니까?

, 나는 그것이 자바 프로세스를 생성 (그리고 어떠한 구성을 제공하지 않는 경우 실제로 자신의 메모리 옵션을 지정 불투명 한 타사 프로세스에 의해 양산되고있는 대한 메모리 할당을 증가 할 Java 프로세스 옵션을 전달하므로 시스템 전체 설정이 필요합니다.)

그래서 어떤 일이 발생합니까? 모두 설정이 Java 프로세스에 전달됩니다. 또는 적어도, approach described here을 사용하여 JVM 인수를 볼 때 나타나는 것입니다.

enter image description here

하는 설정 지시가 동일한 옵션이 지정되어 여러 번 사용하는 몇 가지 우선 순위 순서가 있습니까 (그 같은 설정이 항상이 선택 될 것이라는 보장) : 내가 좋아하는 뭔가를 얻을?

또는 실제로 적용되는 설정을 확인하는 다른 방법이 있습니까?

답변

2

은이가이 움 것이다 포착됩니다 첫 번째 옵션은, 그렇지 않으면

-Xms128m 
-Xmx256m 
-Xmx2g 

다음

// allocate 256m 
byte[] array = new byte[ 256 * 1024 * 1024 ]; 
System.out.println(runtime.totalMemory()); 

진행하면 할 수있는 확인하고 당신이로 메모리를 총 표시됩니다 > 256m

+0

감사합니다. 마찬가지로 접근법은 [여기] (http://stackoverflow.com/questions/2740725/duplicated-java-runtime-options-what-is-the-order-of-preference) 논의했다. 둘 다 OpenJDK를 사용할 때 적어도 ** 마지막 ** 값이 우선한다는 것을 나타냅니다. – aroth

+0

어느 것이 당신과 JVM의 어떤 버전에서 작동 했습니까? –

관련 문제