728x90
-X 옵션은 비표준 옵션이며, -XX 옵션은 올바른 동작을 위해서는 특정한 시스템의 요구사항이 필요하다고 한다. 시스템 설정 변수에 접근권한이 필요
(JVM Option 튜닝에 따라 프로그램의 성능을 더 끌어올 릴 수 있다.)
옵션 및 기본값 | 설명 |
---|---|
-XX:-AllowUserSignalHandlers | 솔라리스에서 어플리케이션이 signal handler을 설치 할때 거부하지 않는다. |
-XX:AltStackSize=16384 | 솔라리스에서 Kbyte 단위로 시그럴 스택 사이즈를 대체한다. |
-XX:-DisableExplicitGC | System.gc()을 호출하지 않고, 필요할때 JVM이 가비지 콜렉션을 수행한다. |
-XX:+FailOverToOldVerifier | 자바6에 추가되었으며 새로운 유형의 검사기가 실패할 때 이전 버전으로 오버할 수 없도록 한다. |
-XX:+HandlePromotionFailure | 젊은 세대의 컬렉션은 모든 살아있는 개체의 전체 추진의 보장을 요구하지 않습니다. (1.4.2 업데이트 11에서 도입) [5.0 및 이전 :. 거짓] |
-XX:+MaxFDLimit | 솔라리스에서 파일 디스크립터의 수을 Max까지 이르게 한다. |
-XX:PreBlockSpin=10 | + UseSpinning :-XX 사용하기 위해 변수를 계산 던가. 운영 체제 스레드 동기화 코드를 입력하기 전에 허용되는 최대 스핀 반복을 제어합니다. (1.4.2에 도입.) |
-XX:-RelaxAccessControlCheck | 검사 장치에 액세스 제어 검사를 휴식을 취한다. (6에 도입.) |
-XX:+ScavengeBeforeFullGC | 전체 GC에 앞서 가장 젊은 세대의 GC를 수행한다. |
-XX:+UseAltSigs |
Solaris 운영체제에서 VM은 디폴트로 SIGUSR1을 사용한다.
이것은 SIGUSR1을 시그널 체인(signal-chain) 하는 애플리케이션 과 충돌하는 경우
이 옵션은 SIGUSR1, SIGUSR2, 다른 시그널을 사용하도록 할 수 있다.
|
-XX:+UseBoundThreads | 사용자 레벨 Thread 바인드 솔라리스에서만 사용 |
-XX:-UseConcMarkSweepGC |
동시 가비지 콜렉션을 수행한다.
1.4.1 부터 이용가능
|
-XX:+UseGCOverheadLimit | GC의 오버헤드를 제한할 수 있는 옵션이다. |
-XX:+UseLWPSynchronization | 솔라리스에서 동기방식의 쓰레드 대신에 LWP기반을 사용하게 한다. 1.4.0 이상에서는 디폴트 설정이다. |
-XX:-UseParallelGC | 병렬 가비지 콜렉션 사용 J2SE 1.4.0부터 |
-XX:-UseParallelOldGC | Major GC에서 병렬 collector를 활성화 할 수 있다. |
-XX:-UseSerialGC | 단일 Thread를 통한 직렬 GC 작업을 수행한다. |
-XX:-UseSpinning | 다중 프로세서 및 windows 플랫폼 환경에서 운영체제 스레드 동기화 전 Java 측에서 먼저 동기화를 수행한다. |
-XX:+UseTLAB | 쓰레드 로컬 객체 할당 사용한다. |
-XX:+UseSplitVerifier | 자바 5부터 도입되었으며 StackMapTable 속성과 함께 사용하는 유형 검사기이다. |
-XX:+UseThreadPriorities | 네이티브 환경 쓰레드를 우선순위를 적용 |
-XX:+UseVMInterruptibleIO | 입출력 관리를 위해 스레드에 인터럽트 발생 시 OS_INTRPT 수행 (솔라리스 환경에서) |
옵션 및 기본값 | 설명 |
---|---|
-XX:+UseG1GC | GC 수집기 사용여부 |
-XX:MaxGCPauseMillis=n | GC의 일시 정지 시간의 대상을 설정 |
-XX:InitiatingHeapOccupancyPercent=n | GC 사이클을 시작하기 위한 힙 점유율의 백분율이며 힙의 점유율을 기반으로 동시 GC 주기를 트리거하는 GC에서 사용 값 0은 '일정한 사이클을 해라라는 옵션이며' 값이 45가 기본값이라고 한다. |
-XX:NewRatio=n | 새로/이전의 generation 사이즈의 비율 |
-XX:SurvivorRatio=n | survivor 영역을 지정 |
-XX:MaxTenuringThreshold=n | 기본값은 31이며 젊은 객체가 살아 있을 수 있는 시간을 나타낸다. |
-XX:ParallelGCThreads=n | 가비지 컬렉터의 병행 단계에서 사용되는 스레드 수를 설정합니다. 기본값은 JVM이 실행중인 플랫폼에 따라 다릅니다. |
-XX:ConcGCThreads=n | Old generation marking 단계에서 사용되는 GC 스레드 수를 조정합니다. |
-XX:G1ReservePercent=n | 예약 된 힙의 양을 설정 기본값은 10 |
-XX:G1HeapRegionSize=n | G1 사용 시 Java 힙이 균일 한 크기의 영역으로 세분화되며 기본값은 힙 크기에 따라 결정된다. 최소값 1MB, 최대값 32MB |
옵션 및 기본값 | 설명 |
---|---|
-XX:+AggressiveOpts | 컴파일러를 최적화 할 수 있게 한다. |
-XX:CompileThreshold=10000 | 컴파일 또는 재컴파일 전에 메소드 호출/분기의 수 |
-XX:LargePageSizeInBytes=4m | Java 힙에 사용되는 페이지의 크기를 바이트 단위로 설정합니다. |
-XX:MaxHeapFreeRatio=70 | 힙의 여유 퍼센티지 입니다. 기본값은 70 입니다. |
-XX:MaxNewSize=size | 새로 생성된 힙영역의 최대 크기를 바이트 단위로 지정합니다. |
-XX:MaxPermSize=64m | Perm Size의 크기를 지정합니다. (GC 튜닝을 참조) |
-XX:MinHeapFreeRatio=40 | GC 이 후 heap 여유공간의 확장을 피하기 위해 최소값 퍼센티지를 지정합니다. |
-XX:NewRatio=2 | generation의 사이즈의 비율을 설정합니다. |
-XX:NewSize=2m | generation의 기본사이즈를 MB 단위로 지정합니다. |
-XX:ReservedCodeCacheSize=32m | 예약된 코드 캐시 크기를 바이트 단위로 지정합니다. |
-XX:SurvivorRatio=8 | eden/survivor 공간 사이즈를 지정합니다. |
-XX:TargetSurvivorRatio=50 | GC 이후 남은 공간의 비율을 지정합니다. |
-XX:ThreadStackSize=512 | 스택 스레드의 크기를 지정합니다. 0은 기본스택 크기를 사용함을 의미합니다. |
-XX:+UseBiasedLocking | 바이어스 잠금을 사용합니다. |
-XX:+UseFastAccessorMethods | 옵티마이저의 최적화된 버전을 사용합니다. |
-XX:-UseISM | 공유 메모리를 사용 여부를 설정합니다. |
-XX:+UseLargePages | 대형 페이지 사용 여부를 설정합니다. |
-XX:+UseMPSS | 힙에 대해 4MB 페이지가 있는 다중 페이지 크기 지원 사용여부를 설정합니다. (솔라리스 관련) |
-XX:+UseStringCache | 일반적으로 할당 된 문자열의 캐싱 사용여부를 결정합니다. |
-XX:AllocatePrefetchLines=1 | JIT 컴파일 코드에서 생성 된 프리 페치 명령어를 사용하여 마지막 객체 할당 후 로드할 캐시의 라인 수를 설정합니다. |
-XX:AllocatePrefetchStyle=1 | 프리페치 명령어를 위한 생성된 코드 스타일 입니다. |
-XX:+UseCompressedStrings | 순수한 ASCII로 표현할 수 있는 문자열을 셋팅합니다. Byte 배열 사용 |
-XX:+OptimizeStringConcat | 문자열 연결 작업 최적화 입니다. |
옵션 및 기본값 | 설명 |
---|---|
-XX:-CITime | JIT 컴파일러의 소요 시간을 설정합니다. |
-XX:ErrorFile=./hs_err_pid<pid>.log | 오류 발생 시 오류 데이터를 저장하는 경로를 지정합니다. |
-XX:-ExtendedDTraceProbes | dtrace 프로브를 활성화 합니다. (솔라리스 6 관련) |
-XX:HeapDumpPath=./java_pid<pid>.hprof | 메모리 누수 시 Heap 영역의 덤프를 저장할 경로를 지정합니다. |
-XX:-HeapDumpOnOutOfMemoryError | 메모리 누수 시 힙을 파일에 덤프합니다. |
-XX:OnError="<cmd args>;<cmd args>" | 치명적인 오류 발생 시 사용자 정의 명령을 실행합니다. |
-XX:OnOutOfMemoryError="<cmd args>; <cmd args>" |
메모리 누수 에러 발생 시 에러가 처음 thorw 될 경우에 사용자 정의 명령을 실행합니다. |
-XX:-PrintClassHistogram | Ctrl-break에서 클래스 인스턴스의 그래프를 출력합니다. |
-XX:-PrintConcurrentLocks | Ctrl-break에서 잠금상태를 출력합니다. |
-XX:-PrintCommandLineFlags | 명령행에 나타난 플래그를 출력합니다. |
-XX:-PrintCompilation | 메소드가 컴파일 될 시 메시지를 출력합니다. |
-XX:-PrintGC | GC에서 메시지를 출력합니다. |
-XX:-PrintGCDetails | GC에서 상세 메시지를 출력합니다. |
-XX:-PrintGCTimeStamps | GC에서 소요시간을 출력합니다. |
-XX:-PrintTenuringDistribution | 보유기간 정보를 출력합니다. |
-XX:-PrintAdaptiveSizePolicy | 생성 크기 조정에 대한 정보를 출력합니다. |
-XX:-TraceClassLoading | 클래스 로드를 추적합니다. |
-XX:-TraceClassLoadingPreorder | 참조된 순서로 로드된 모든 클래스를 추적합니다. |
-XX:-TraceClassResolution | 상수 풀을 추적합니다. |
-XX:-TraceClassUnloading | 로드되지 않은 클래스를 추적합니다. |
-XX:-TraceLoaderConstraints | 클래스 로더의 제약조건을 추가합니다. |
-XX:+PerfDataSaveToFile | 종료 시 jvm 상태를 저장합니다. |
-XX:ParallelGCThreads=n | 병렬 GC 수집기의 스레드 수를 설정합니다. JVM 실행 환경에따라 달라집니다. |
-XX:+UseCompressedOops | 힙 크기가 32GB 미만 최적화된 64비트 성능을 위해 압축 포인터를 사용합니다. |
-XX:+AlwaysPreTouch | JVM 초기화 중 힙을 사전에 터치합니다. |
-XX:AllocatePrefetchDistance=n | 객체 할당을 위한 프리 페치 거리를 설정합니다. 새 객체의 값으로 쓰려는 메모리는 마지막으로 할당 된 객체의 주소를 초과하는 비율로 계산하여 프리페치합니다. 기본값은 JVM 실행 환경에 따라 달라집니다. |
-XX:InlineSmallCode=n | 생성 된 네이티브 코드의 크기가 작은 경우 이전에 컴파일 된 메서드를 인라인합니다. 기본값은 JVM 실행 환경에 따라 달라집니다. |
-XX:MaxInlineSize=35 | 인라인 될 메소드의 최대 바이트 코드 크기를 지정합니다. |
-XX:FreqInlineSize=n | 인라인된 메소드 중에서 자주 실행되는 바이트 코드 명령어들의 최대 수를 지정합니다. |
-XX:LoopUnrollLimit=n | 컴파일러 표현 노드 수가 이 값보다 작은 루프 본문을 언롤합니다. 한정값은 실제 값이 아닌 값의 함수입니다. 기본값은 JVM 실행 환경에 따라 달라집니다. |
-XX:InitialTenuringThreshold=7 | 병렬 수집기에서 GC 크기 조정에 사용할 초기 지속 임계 값을 설정합니다. |
-XX:MaxTenuringThreshold=n | GC 크기 조정에 사용할 지속 임계 값을 설정합니다. |
-Xloggc:<filename> | GC에 대한 상세한 정보를 지정된 파일에 기록합니다. |
-XX:-UseGCLogFileRotation | GC 로그 순환을 사용하도록 설정합니다. -Xloggc을 사용해야합니다. |
-XX:NumberOfGClogFiles=1 | 로그 순환 시 사용할 파일 수를 설정하며 값은 1보다 크거나 같아야합니다. |
-XX:GCLogFileSize=8K | 로그 순환 시 로그 파일의 크기를 지정합니다. 값은 8K 이상이여야합니다. |
728x90
반응형
댓글