HotSpot Java의 VM 인수 호출이 -client, -server 또는 계층화 된 컴파일 옵션을 사용하여 실행 중인지 알고 싶습니다. VM 인수를 제공하지 않으면 어떤 인수가 기본적으로 선택됩니까? JIT 컴파일러가 실행중인 진단을 출력하는 방법이 있습니까?어떤 Java HotSpot JIT 컴파일러가 실행 중입니까?
예를 들어-XshowSettings:vm
, 내 Windows 상자에 내가의 출력을 얻을 :
HotSpot Java의 VM 인수 호출이 -client, -server 또는 계층화 된 컴파일 옵션을 사용하여 실행 중인지 알고 싶습니다. VM 인수를 제공하지 않으면 어떤 인수가 기본적으로 선택됩니까? JIT 컴파일러가 실행중인 진단을 출력하는 방법이 있습니까?어떤 Java HotSpot JIT 컴파일러가 실행 중입니까?
예를 들어-XshowSettings:vm
, 내 Windows 상자에 내가의 출력을 얻을 :
이 핫스팟이다 가정하면 실행되는 프로그램에서
VM settings:
Max. Heap Size (Estimated): 1.77G
Ergonomics Machine Class: client
Using VM: Java HotSpot(TM) 64-Bit Server VM
을, 당신은 차별화하기 위해 java.vm.name
속성을 쿼리 수 클라이언트와 서버 모드 사이. 핫스팟에는 해당 옵션을 사용한 경우 "서버"가 포함됩니다 (예 : Java HotSpot(TM) 64-Bit Server VM
). this page에 따르면
:
계층 컴파일 이제 서버 VM의 기본 모드입니다.
참고 : 현재 작동하지만 미래 보장 방법이 아닙니다.
사용중인 JIT 컴파일러를 확인하는 방법이 약간 더 좋습니다. 32 비트 JDK8있는 Windows 시스템에서
:$ java -version java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode) $ java -XshowSettings -version 2>&1 | grep sun.management.compiler sun.management.compiler = HotSpot Client Compiler $ java -server -XshowSettings -version 2>&1 | grep sun.management.compiler sun.management.compiler = HotSpot Tiered Compilers
그래서 클라이언트 컴파일러는 Windows 32 비트 JDK8 하고 '-server'옵션은 당신에게 32 비트 계층을 얻을 수와 기본이다 컴파일러. 64 비트 JDK8있는 Windows 시스템에서
는 :$ java -version java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode) $ java -XshowSettings -version 2>&1 | grep sun.management.compiler sun.management.compiler = HotSpot 64-Bit Tiered Compilers따라서 계층 컴파일러는 Windows 64 비트 JDK8와 기본값입니다. Oracle은 64 비트 클라이언트 VM을 제공하지 않습니다.
감사합니다. Jon. OS X에서 핫스팟을 실행하고 있지만 Java 1.6 및 1.7에서는 옵션을 인식 할 수 없습니다. –
@JulienChastang : 그건 이상한 일입니다. Windows와 Linux 모두 저로서는 괜찮습니다. 'java -X'는 무엇을 보여줍니까? –
실례합니다. 실제로 1.6에서는 인식 할 수 없지만, 1.7에서는 위에서 제공 한 정보를 제공합니다. 흥미롭게도, java -client -XshowSettings : vm을 제공 할 때 여전히 서버라고 주장합니다. Charles Nutter (http://blog.headius.com/2009/01/my-favorite-hotspot-jvm-flags.html)는 64 비트를 사용하는 경우 -server가 유일한 옵션임을 제안하는 것으로 보입니다. 오라클로부터 이것에 대한 명확성을 얻는 것이 좋을 것입니다. –