3.3. Java Flight Recorder


3.3.1. Java Flight Recorder 정보

Oracle JDK Mission Control 사용자 가이드에서는 JFR(Java Flight Recorder)을 "프로필링 및 이벤트 컬렉션 프레임워크"로 설명합니다. 개발자는 JMC( JDK Mission Control)와 함께 JFR을 사용하여 JVM(Java Virtual Machine) 및 기타 Java 애플리케이션에 대한 데이터를 수집할 수 있습니다. 개발자는 이 데이터를 사용하여 성능 문제를 식별하고 해결할 수 있습니다.

JFR은 낮은 수준의 오버헤드(리소스 사용량)가 필요하므로 신중하게 설계되었습니다. 즉, JFR 프로파일링이 최소한의 영향을 미치는 특정 프로덕션 환경에서 지속적으로 실행될 수 있습니다. 개발자는 JFR 및 JMC를 사용하여 사고 후 런타임 정보를 신속하게 분석할 수 있습니다.

참고

JFR은 Java OpenJDK 8u262 이상에서 Java 진단 명령 도구의 일부로 사용할 수 있습니다.

3.3.2. Java Flight Recorder 프로파일링 구성

개발자는 프로파일링 구성을 수정하여 JFR(Java Flight Recorder) 인스턴스를 사용자 지정할 수 있습니다. JFR에서는 다음 두 가지 프로파일링 구성을 사용할 수 있습니다.

  • Default: 정보의 스파스 샘플링을 제공합니다. 낮은 프로파일링 세부 정보
  • profile: 정보의 보다 포괄적인 샘플링을 제공합니다; 중간 프로파일링 세부 정보

개발자는 두 구성 파일을 수정하여 추가 이벤트 메트릭 샘플링을 활성화할 수 있습니다.

3.3.3. Java Flight Recorder 프로파일 캡처 사용

개발자는 JFR(Java Flight Recorder)을 사용하여 베어 메탈에 JBoss EAP 설치를 프로파일링하거나 Red Hat OpenShift Container Platform을 사용할 수 있습니다.

OpenShift와 함께 JFR 사용에 대한 자세한 내용은 Introduction to Cryostat: JDK Flight Recorder for containers 를 참조하십시오.

3.3.3.1. 베어 메탈에서 Java Flight Recorder 프로파일링 활성화

개발자는 명령줄 또는 JMC(Java Mission Control) 데스크탑 애플리케이션이 있는 JMX(Java Flight Recorder) 프로필을 시작할 수 있습니다.

구성 플래그를 사용하여 JVM(Java Virtual Machine)에서 JBoss EAP로 JVM(Java Flight Recorder) 프로파일링을 구성할 수 있습니다.

JVM 구성 예

-XX:StartFlightRecording=delay=15s,duration=60s,name=jboss-eap-profile, filename=C:\TEMP\jboss-eap-profile.jfr,settings=default

StartFlightRecording=delay 구성 플래그를 사용하면 프로파일링 세션을 시작하기 전에 JVM이 부팅된 후 JFR 대기 시간을 설정할 수 있습니다. 이전 예에서 StartFlightRecording=delay 가 15초로 설정되어 있으므로 15초 후에 프로파일링이 시작됩니다.

duration 구성 플래그를 사용하면 각 프로파일링 세션의 시간을 설정할 수 있습니다. 이전 예에서 duration 은 60초로 설정됩니다.

name 구성 플래그를 사용하면 메모리 프로필 이름에 를 설정할 수 있습니다. 이 예에서 in memory profile name은 jboss-eap-profile 로 설정됩니다.

filename 구성 플래그를 사용하면 파일을 저장할 파일 이름과 경로를 설정할 수 있습니다. 이 예에서 파일 이름은 C:\TEMP\jboss-eap-profile.jfr 로 설정됩니다.

설정 구성 플래그를 사용하면 프로파일링 구성을 선택할 수 있습니다. 이 예에서는 설정이 기본값 으로 설정됩니다. 프로파일링 구성의 파일 확장자는 제외됩니다.

프로파일링 세션이 완료되면 파일 이름 옵션에 정의된 파일 경로에 파일이 생성됩니다.

JFR(Java Flight Recorder) JFR.start 명령을 사용하여 Java 명령 도구인 jcmd 를 사용하여 프로파일링을 위해 실행 중인 JBoss EAP Java Virtual Machine(JVM)을 구성할 수 있습니다.

프로세스

  • 다음 명령 중 하나를 사용합니다.

    • Linux 운영 체제의 경우:

      $ jcmd <PID> JFR.start duration=TIME filename=path/to/YOUR_PROFILE_NAME.jfr

      예를 들면 다음과 같습니다.

      Linux의 JFR.start 명령 예

      $ jcmd <PID> JFR.start duration=60s filename=/tmp/jboss-eap-profile.jfr

      JFR 프로파일링 세션이 시작되면 다음 확인 메시지가 표시됩니다.

      $ jcmd <PID> JFR.start duration=60s filename=/tmp/jboss-eap-profile.jfr
      <PID>:
      Started recording 1. The result will be written to:
      
      /tmp/jboss-eap-profile.jfr
    • Windows 운영 체제의 경우:

      > jcmd.exe <PID> JFR.start duration=TIME filename=path/to/YOUR_PROFILE_NAME.jfr

      예를 들면 다음과 같습니다.

      Windows용 JFR.start 명령 예

      > jcmd.exe <PID> JFR.start duration=60s filename=C:\TEMP\jboss-eap-profile.jfr

      JFR 프로파일링 세션이 시작되면 다음 확인 메시지가 표시됩니다.

      > jcmd.exe <PID> JFR.start duration=60s filename=C:\TEMP\jboss-eap-profile.jfr
      <PID>:
      Started recording 1. The result will be written to:
      
      C:\TEMP\jboss-eap-profile.jfr

duration 옵션을 사용하면 각 프로파일링 세션의 시간 길이를 설정할 수 있습니다. 위 예제 명령에서 duration 은 60초로 설정됩니다.

filename 옵션을 사용하면 파일을 저장할 파일 이름과 경로를 설정할 수 있습니다. 위의 예제 명령에서 filename 은 Linux 예제의 /tmp/jboss-eap-profile.jfr 및 Windows 예의 C:\TEMP\jboss-eap-profile.jfr 으로 설정됩니다.

3.3.3.4. Java Mission Control을 사용하여 로컬 Java 가상 머신 연결

JMC(Java Mission Control)를 사용하여 JMC 인스턴스와 동일한 서버에서 실행되는 로컬 JVM(Java Virtual Machine)을 연결할 수 있습니다.

사전 요구 사항

  • JBoss EAP 라이브러리를 사용한 Java Mission Control이 구성되어 있습니다. 자세한 내용은 Java Mission Control을 EAP와 원격으로 연결하는 방법을 참조하십시오.
  • JBoss EAP는 원격 모니터링 연결을 위해 구성되며 사용자는 모니터링을 위해 ApplicationRealm 에 생성됩니다.

프로세스

  1. Java Mission Control을 엽니다.
  2. JVM 브라우저 창에서 프로파일링할 JVM을 선택합니다.
  3. JVM의 드롭다운 메뉴를 확장하여 Flight Recorder 항목을 표시합니다.

    1. Flight Recorder 를 마우스 오른쪽 버튼으로 클릭하여 하위 메뉴를 열고 Start Flight Recording…​ 을 선택합니다.

      그림 3.1. JMC의 JVM 브라우저

      로컬 jvm jmc img 연결
  4. Start Flight Recording 창에서 프로파일링 옵션을 구성합니다.

    그림 3.2. JVM 프로파일링 설정

    jvm 설정 프로파일
  5. 자세한 낮은 수준 설정을 보려면 다음을 클릭합니다.

    그림 3.3. JVM 프로파일링 고급 설정

    jvm 고급 설정 프로파일
  6. 완료 를 클릭하여 프로파일링을 시작합니다.

3.3.3.5. Java Mission Control을 사용하여 원격 Java 가상 머신 연결

JMC(Java Mission Control)를 사용하여 원격 JVM(Java Virtual Machine) 프로필에 연결할 수 있습니다.

사전 요구 사항

  • JBoss EAP 라이브러리를 사용하여 Java Mission Control 구성. 자세한 내용은 Java Mission Control을 EAP와 원격으로 연결하는 방법을 참조하십시오.
  • 모니터링을 위해 ApplicationRealm 에 생성된 사용자를 사용하여 원격 모니터링 연결을 위해 JBoss EAP를 구성합니다.

프로세스

  1. Java Mission Control을 엽니다.
  2. 파일 메뉴에서 연결을 선택합니다.
  3. 연결 창에서 새 연결 만들기 를 선택한 다음 다음을 클릭합니다.

    그림 3.4. JMC의 연결 창

    원격 jvm jmc 연결
  4. JVM 연결 창에서 프로파일링할 원격 JBoss EAP JVM에 대한 세부 정보를 완료합니다.

    그림 3.5. JMC의 JVM 연결 세부 정보

    원격 jvm jmc con props 연결
    1. 호스트 필드에서 호스트 이름 또는 IP 주소를 추가합니다.
    2. 포트 필드에 포트 번호를 추가합니다.
    3. 사용자 필드에서 ApplicationRealm 에서 생성한 사용자를 추가합니다.
    4. 암호 필드에 ApplicationRealm 에 생성된 암호를 추가합니다.
    5. 선택 사항 설정 파일에 인증 정보를 저장하려면 설정 파일에 인증 정보 저장 옆에 있는 확인란을 클릭합니다.
  5. Custom Cryostat Service URL 을 클릭하여 기본 설정을 재정의합니다.

    그림 3.6. JVM 연결을 위한 Cryostat 서비스 URL

    원격 jvm jmc con jmx url 연결
  6. JBoss remoting 프로토콜을 정의하기 위해 Cryostat 서비스 URL을 변경합니다.

    service:jmx:remote+http://<host>:9990
  7. 연결 테스트를 클릭하여 설정을 확인합니다.
  8. 설정을 저장하려면 마침을 클릭합니다.Click Finish to save your settings.
  9. Cryo statRMI Preferences not set warning 메시지가 표시됩니다.

    그림 3.7. CryostatRMI 기본 설정 경고 메시지

    원격 jvm jmc 보안 경고 연결
    1. OK (확인)를 클릭하여 연결 시도를 수락합니다.
  10. JVM 브라우저 창에서 프로파일링할 JVM을 선택합니다.

    1. JVM의 드롭다운 메뉴를 확장하여 Flight Recorder 항목을 표시합니다.
    2. Flight Recorder 를 마우스 오른쪽 버튼으로 클릭하여 하위 메뉴를 연 다음 Start Flight Recording…​ 을 선택합니다.

      그림 3.8. JMC 프로필 메뉴를 사용하여 원격 JVM 연결

      원격 jvm jmc 프로필 메뉴 연결
  11. Start Flight Recording 창에서 프로파일링 옵션을 구성합니다.

    그림 3.9. JVM 프로파일링 설정

    jvm 설정 프로파일
  12. 자세한 낮은 수준 설정을 보려면 다음을 클릭합니다.

    그림 3.10. JVM 프로파일링 고급 설정

    jvm 고급 설정 프로파일
  13. 완료 를 클릭하여 프로파일링을 시작합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동