[JVM] 자바 생산 환경 에서 성능 모니터링 과 개선 에 대한 상세 한 설명 노트

3687 단어
1. JDK 명령 행 도구 에 대한 모니터링
1. JVM 매개 변수 유형
(1) 표준 매개 변수
  • -help
  • -server , -client
  • -version . -showversion
  • -cp , -classpath

  • - version 은 현재 기기 의 자바 가 어떤 버 전 인지, 어떤 종류의 JVM (Server / client) 인지, 어떤 실행 모드 를 사용 하 는 지 확인 하 는 것 입 니 다.예 를 들 어 내 기계 에서 의 결 과 는 다음 과 같다.
    $ java -version
    java version "1.7.0_71"
    Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
          java    mixed    Server VM。
    

    - showversion 의 역할 은 프로그램 을 실행 할 때 먼저 JVM 의 버 전 정 보 를 인쇄 하여 문제 진단 에 편리 하도록 하 는 것 이다.개인 적 으로 서버 형식의 프로그램 은 모두 이 옵션 을 켜 면 일부 설정 문 제 를 발견 할 수 있 습 니 다. 예 를 들 어 프로그램 은 JDK 1.7 이 있어 야 실행 할 수 있 고 어떤 기계 에는 여러 개의 JDK 버 전이 설치 되 어 있 습 니 다. 이 옵션 을 켜 면 잘못된 버 전의 자바 를 사용 하지 않 을 수 있 습 니 다.
    (2) x 매개 변수
    비 표준화 매개 변수 (각 JDK 버 전에 서 는 변 할 수 있 지만 변동 이 적 음)
    - Xint: 해석 실행, 모든 바이트 코드 가 해석 되 어 실행 되 며, 이 모드 의 속도 가 가장 느 립 니 다.
     
  • - Xcomp: 컴 파일 실행 첫 번 째 사용 시 로 컬 코드 로 컴 파일 
  • - Xmixed: 혼합 모드, JVM 스스로 로 컬 코드 로 컴 파일 할 지 여 부 를 결정 합 니 다. 

  • (3) XX 매개 변수
  • 비 표준화 매개 변수
  • JVM 튜 닝 과 Debug
  • 에 주로 사 용 됩 니 다.
  • 상대 적 으로 불안정
  •  
  • 매개 변 수 는 다음 과 같다.
  • Boolean 형식: - XX: [+ -] 는 name 속성 을 사용 하거나 사용 하지 않 음 을 표시 합 니 다. 예 를 들 어 - XX: + UseConcMarkSweetGC, - XX: + UseG1GC ([+] 번 호 는 사용 하지 않 음, [-] 는 사용 하지 않 음)
  • 비 Boolean 형식: - XX: = name 속성 을 나타 내 는 값 은 value 입 니 다. 예 를 들 어 - XX: MaxGCPauseMillis = 500, - XX: GCtimeRatio = 19
  • -Xmx -Xms
  • X 매개 변수 가 아니 라 XX 매개 변수
  • - Xms 등가 - XX: InitialHeapSize 초기 화 된 더미 크기
  • - Xmx 등가 - XX: MaxHeapSize 최대 화 된 더미 크기
  • jinfo - flag MaxHeapSize - XX: MaxHeapSize = 994050048 운행 시 최대 더미 크기
  • jinfo - flag ThreadStackSize - XX: ThreadStackSize = 1024K 스 레 드 시작 에 필요 한 메모리 크기

  • 2. 실행 중인 JVM 인자 보기
    - XX: + PrintFlagslnitial (모든 XX 옵션 을 출력 하 는 기본 값 을 표시 함) 에 표 시 된 매개 변 수 는 다음 과 같 으 면 수 정 된 것 이 고, = 은 기본 값 임 을 표시 합 니 다
    - XX: + PrintFlagsFinal (XX 옵션 이 실 행 될 때 적용 되 는 값 을 출력 하 는 것 을 표시 함) 에 표 시 된 매개 변 수 는 다음 과 같 으 면 수 정 된 것 이 고, = 은 기본 값 임 을 나 타 냅 니 다.
    - XX: + Unlock ExperimentalVMOptions 잠 금 해제 실험 매개 변수 (선 결 조건)
    - XX: + UnlockDiagnosticVMOptions 잠 금 해제 진단 파라미터
    - XX: + PrintCommandLineFlags 인쇄 명령 행 인자
    - Xms - Xmx 더미 용량
    - XX: NewSize - XX: MaxNewSize 신세대 의 크기
    - XX: NewRatio 는 Yong 과 Old 의 비율 을 설정 합 니 다.
    - XX: SurvivorRatio 는 두 개의 Survivor 구역 과 Eden 의 비 를 설정 합 니 다.
    - XX: MetaspaceSize - XX: MaxMetaspaceSize metaspace 크기 (아래 의 매개 변 수 는 모두 동생 입 니 다. 주로 첫째 를 조정 하면 됩 니 다. 용량 이 커지 고 아래 의 것 도 커 집 니 다)
    - XX: + UseCompressed ClassPointers 압축 짧 은 지침 사용
    - XX: CompressedClassSpace Size 기본 1G 설정 가능
    - XX: InitialCodeCache Size codeCache 최소 값
    - XX: Reserved CodeCache Size codeCache 최대 치
    - XX: StringTableSize = 99991 String Pool 크기 조정
    jinfo - flags 23789 Non - default (수 동 으로 설 정 된 VM flags) 표시
    3. jstat JVM 통계 보기
    4. jmap + MAT 실전 메모리 넘 침
    5. jstack 실전 사 순환 과 자물쇠
    2. JVisualVM 기반 시각 화 모니터링
    1. 로 컬 JAVA 프로 세 스 모니터링
    2. 원 격 JAVA 프로 세 스 모니터링
    3. Btrace 기반 모니터링 디 버 깅
    Btrace 설치 사용 입문
    Btrace 사용 상세 설명
    4. Tomcat 성능 모니터링 과 개선
    1. Tomcat 원 격 디버그
    2. Tomcat - manager 모니터링 Tomcat
    3. psi - probe 모니터링 Tomcat
    4. Tomcat 튜 닝
    5. Nginx 성능 모니터링 과 개선
    1. ngx http stub status 모니터링 연결 정보
    2. ngxtop 모니터링 요청 정보
    3. nginx - rrd 도형 화 모니터링
    4. nginx 튜 닝
    6. JVM 층 GC 변조
    1. JVM 메모리 구조
    2. 쓰레기 수 거 알고리즘
    3. 쓰레기 수집 기
    4. GC 로그 형식 및 시각 화 로그 분석 도구
    5. Tomcat 의 GC 튜 닝 실전
    7. 자바 코드 층 최적화
    1. JVM 바이트 코드 명령 과 javap
    2. i + + + i, 문자열 + 연결 원리
    3. 상용 코드 최적화 방법

    좋은 웹페이지 즐겨찾기