매개변수 |
설명하다 |
1. 힙 메모리 매개변수 설정 |
|
-Xms 또는 -XX:초기힙 크기=n |
힙의 초기값 설정 명령 1:-Xms2g |
-XX:최대힙 크기=n |
힙 영역의 최대 크기 설정 명령 1: -Xmx2g 명령 2: -XX:MaxHeapSize=2048m |
-XX:새 크기=n | 젊은 세대 크기 설정 |
-Xss 또는 -XX:스레드스택 크기=n |
스레드당 최대 스택 크기 명령 1: -Xss256k 기본 스택 크기는 1M입니다. 128K이면 충분합니다. 큰 스택의 경우 256K를 권장합니다. 스택 설정이 너무 크면 스레드 생성이 발생합니다. a> 줄입니다. 스택 설정이 작으면 깊이가 충분하지 않으며, 깊은 재귀로 인해스택 오버플로가 발생합니다. |
-Xmn 또는 -XX:MaxNewSize=n |
차세대 메모리 구성 명령 1: -Xmn512m 명령 2: -XX:MaxNewSize=512m |
-XX:생존자비율=n | 두 생존 영역과 Eden 영역의 크기 비율 Young Generation의 경우 Eden 영역과 두 개의 Survivor 영역의 비율입니다. 두 개의 Survivor 영역이 있음을 참고하세요. 신세대에서는 S 영역과 Eden 영역의 비율이 1:8이고 두 개의 S 영역이 2:8입니다. . |
-XX:새 비율=n | 신세대와 구세대의 비율 새로운 세대를 나타냄: Old Generation = 1:2, 즉 Old Generation이 전체 힙의 2/3를 차지, 기본값 = 2 -Xms==-Xmx 및 -Xmn이 설정된 경우 이 매개변수를 설정할 필요가 없습니다. |
-Duser.timezone=GMT+08 | 시간대 지정 |
‐Dfile.encoding=UTF‐8 | 기본 파일 인코딩 지정 |
2. 가비지 컬렉터 설정 |
|
-XX:+인쇄GC |
GC 로그의 간단한 인쇄 |
-XX:+GC 세부정보 인쇄 | GC 로그를 자세히 인쇄합니다. |
-XX:+PrintHeapAtGC | GC 전후의 자세한 스택 정보 인쇄 |
-XX:+PrintGCTimeStamps | GC가 발생하면 GC가 발생한 시간이 추가로 출력되는데, 이 출력 시간은 가상머신이 시작된 후의 시간 오프셋이다. |
-XX:+GCDateStamp 인쇄 | GC 발생시 타임존으로 날짜 출력 |
-XX:+PrintGCApplicationConcurrentTime | 각 가비지 수집 전 애플리케이션의 중단 없는 실행 시간을 인쇄합니다. |
-XX:+PrintGCApplicationStoppedTime | GC로 인한 애플리케이션 일시 중지 시간 인쇄 |
-XX:+인쇄참조GC | 시스템 내에서 소프트 참조, 약한 참조, 가상 참조 및 마무리 대기열을 추적합니다. |
2.1 GC 재활용 로그 인쇄 |
|
-Xloggc:log/gc.log | gc 로그 출력의 파일 경로를 지정합니다. JDK8은 GC 출력 파일을 지정하기 위해 %p 및 %t와 같은 자리 표시자의 사용을 지원하기 시작합니다. 프로세스 pid와 시작 타임스탬프를 각각 나타냅니다. 예를 들어: -Xloggc:/data/gclog/gc.log 고정 경로 이름 생성 -Xloggc:/data/gclog/gc-%t.log는 시간을 기준으로 생성됩니다. -Xloggc:/data/gclog/gc-%p.log는 프로세스 pid를 기반으로 생성됩니다. |
-XX:+GCLogFileRotation 사용 | 롤링 로그 생성 로그 파일이 일정 크기에 도달하면 다른 파일이 생성되며 -Xloggc를 구성해야 합니다. |
-XX:GCLog파일 수=n | -XX:NumberOfGCLogFiles=4 롤링 GC 로그 파일 수, 기본값은 0, 롤링 없음, UseGCLogFileRotation을 구성해야 함, jcmd 명령을 통해서만 트리거링을 나타내려면 0으로 설정 |
-XX:GCLogFileSize=n | -XX:GCLogFileSize=100k GC 파일 롤링 크기, UseGCLogFileRotation을 구성해야 합니다. 0으로 설정하면 jcmd 명령에 의해서만 트리거된다는 의미입니다. |
2.2 힙 메모리 오버플로 구성 |
|
-XX:+HeapDumpOnOutOfMemoryError | 메모리 오버플로 시 전체 힙 정보를 내보내 JVM이 OOM 예외 발생 시 힙 정보를 출력하도록 허용하고 (-XX:+HeapDumpPath) 매개변수를 통해 힙 메모리 오버플로 스냅샷 출력의 파일 주소를 설정합니다. -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./log/dump/ |
-XX:힙 덤프 경로 | 내보내기 힙의 저장 경로 지정 |
-XX:OnOutOfMemoryError="" | 이 매개변수를 사용하면 시스템 OOM 이후에 이메일 경보 정보 전송, 시스템 재시작 등에 사용할 수 있는 스크립트를 사용자 정의할 수 있습니다. -XX:OnOutOfMemoryError="/opt/local/bin/alert.sh" |
-XX:+FullGC 전 힙 덤프 | Full GC 전 덤프 구현 -XX:HeapDumpPath=/logs/Dump가 저장되는 경로 설정 |
-XX:+FullGC 후 힙 덤프 | Full GC 이후 덤프 구현 -XX:HeapDumpPath=/logs/Dump가 저장되는 경로 설정 |
2.3 가비지 컬렉터 구성 |
|
-XX:+직렬GC 사용 | 직렬 가비지 수집기 사용을 활성화합니다. 이는 일반적으로 가비지 수집을 위한 특별한 기능이 필요하지 않은 작고 간단한 애플리케이션에 가장 적합한 선택입니다. 기본적으로 이 옵션은 비활성화되어 있으며 수집기는 시스템 구성 및 JVM 유형에 따라 자동으로 선택됩니다. |
-XX:+ParallelGC 사용 | 병렬 정리 가비지 수집기(처리량 수집기라고도 함)를 사용하여 여러 프로세서를 활용하여 애플리케이션 성능을 향상시킬 수 있습니다. 기본적으로 이 옵션은 비활성화되어 있으며 수집기는 컴퓨터 구성 및 JVM 유형에 따라 자동으로 선택됩니다. 활성화된 경우 이 옵션은 |
-XX:+ParalledlOldGC 사용 | 을 사용하면 병렬 가비지 수집기를 전체 GC에 사용할 수 있습니다. 기본적으로 이 옵션은 비활성화되어 있습니다. 이 기능을 활성화하면 이-XX:+UseParallelGC 옵션이 자동으로 활성화됩니다. |
-XX:+ConcMarkSweepGC 사용 | 은 이전 세대에 대해 CMS 가비지 수집기 사용을 허용합니다. Oracle은 스팸( 기본적으로 이 옵션은 비활성화되어 있으며 수집기는 컴퓨터 구성 및 JVM 유형에 따라 자동으로 선택됩니다. 이 옵션이 활성화되면 이 옵션은 |
-XX:+ParNewGC 사용 | 은 젊은 세대의 수집을 위해 병렬 스레드를 사용하도록 허용합니다. 기본적으로 이 옵션은 비활성화되어 있습니다. -XX:+UseConcMarkSweepGC 옵션을 설정하면 자동으로 활성화됩니다. -XX:+UseParNewGC 옵션 없이-XX:+UseConcMarkSweepGC 옵션은 JDK 8에서 더 이상 사용되지 않습니다 |
-XX:+G1GC 사용 | 가비지 우선(G1) 가비지 수집기 사용을 허용합니다. 대용량 RAM을 갖춘 다중 프로세서 시스템을 대상으로 하는 서버 스타일 가비지 수집기입니다. 우수한 처리량을 유지하면서 높은 확률로 GC 일시 중지 시간 목표를 충족합니다. G1 수집기는 대규모 힙(약 6GB 크기 이상)과 제한된 GC 대기 시간 요구 사항(0.5초 미만의 안정적이고 예측 가능한 일시 중지 시간)이 필요한 애플리케이션에 권장됩니다. |
-XX:병렬GCThreads=n | GC 병렬 실행 스레드 수 -XX:병렬GCThreads=16 |
3. 보조 지침(실행 중인 JVM의 특정 구성 보기 또는 수정) |
|
jinfo -flag 매개변수 pid | HeapDumpOnOutOfMemoryError 구성이 활성화되어 있는지 확인하십시오. jinfo -flag HeapDumpOnOutOfMemoryError 10001 HeapDumpOnOutOfMemoryError 구성 수정(-off + on) jinfo -flag +HeapDumpOnOutOfMemoryError 10001 |
-XX:+PrintFlags최종 | jvm 매개변수 구성 보기 -XX:+PrintFlagsFinal |grep GC GC 관련 매개변수 구성 보기 |
-XX:+PrintCommandLineFlags | 사용자 또는 현재 가상 머신에 의해 설정된 인쇄 매개변수 -XX:+PrintCommandLineFlags -version GC 힙의 초기 크기 및 GC 수집기 유형을 봅니다. |
4.JDK8용 JVM 시작 매개변수의 기본 구성 |
|
|
|
4. 매개변수 옵션을 비활성화하고 폐기합니다. |
|
-Xincgc 증분 가비지 수집을 활성화합니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며 교체할 필요가 없습니다. -Xrun libname 지정된 디버깅/분석 라이브러리를 로드합니다. 이 옵션은 이 옵션 -XX: CMSIncrementalDutyCycle = 백분율 동시 수집기 실행이 허용되는 보조 컬렉션 간의 시간 비율(0~100)을 설정합니다. 이 옵션은 더 이상 사용되지 않는 옵션으로 대체 없이 JDK 8에서 더 이상 사용되지 않습니다. -XX: CMSIncrementalDutyCycleMin = 백분율 보조 컬렉션 사이의 시간 비율(0~100)을 설정합니다. -XX:+ CMS증분 모드 CMS 수집기의 증분 모드를 활성화합니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며 다른 옵션과 함께 대체할 수 없습니다 -XX: CMSIncrementalOffset = 백분율 마이너 세트 사이의 기간 동안 증분 모드 듀티 사이클이 오른쪽으로 이동하는 시간 비율(0~100)을 설정합니다. 이 옵션은 더 이상 사용되지 않는 옵션으로 대체 없이 JDK 8에서 더 이상 사용되지 않습니다. -XX:+ CMS증분 속도 JVM이 실행되는 동안 수집된 통계를 기반으로 증분 모드 듀티 사이클의 자동 조정을 활성화합니다. 이 옵션은 더 이상 사용되지 않는 옵션으로 대체 없이 JDK 8에서 더 이상 사용되지 않습니다. -XX: CMSIncrementalSafetyFactor = 백분율 듀티 사이클을 계산할 때 보수성을 추가하는 데 사용되는 시간 비율(0~100)을 설정합니다. 이 옵션은 더 이상 사용되지 않는 옵션으로 대체 없이 JDK 8에서 더 이상 사용되지 않습니다. -XX:CMSInitiatingPermOccupancyFraction = 백분율 GC를 시작하는 영구 세대 점유 비율(0~100)을 설정합니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며 교체할 필요가 없습니다. -XX:MaxPermSize = 크기 최대 영구 생성 공간 크기를 바이트 단위로 설정합니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며 -XX:PermSize = 크기 영구 생성을 위해 할당된 공간(바이트 단위)을 설정합니다. 이를 초과하면 가비지 수집이 시작됩니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며 이 옵션으로 대체되었습니다. -XX:+ 분할 검증기 사용 확인 프로세스를 분할할 수 있습니다. 기본적으로 이 옵션은 이전 버전에서 활성화되었으며 확인은 유형 참조(컴파일러에 의해 수행됨)와 유형 검사(JVM 런타임에 의해 수행됨)의 두 단계로 구분됩니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며 유효성 검사는 이제 기본적으로 분할되어 비활성화할 수 없습니다. -XX:+ 문자열 캐시 사용 일반적으로 할당된 문자열의 캐싱을 활성화합니다. 이 옵션은 JDK 8에서 제거되었으므로 교체할 필요가 없습니다. |
[Java] JDK8 jvm 매개변수 구성 및 설명
Je suppose que tu aimes
Origine blog.csdn.net/smallbirdnq/article/details/132967867
conseillé
Classement