Intellij 아이디어-프로파일 링

Profiler는 CPU, 메모리 및 힙 사용량과 같은 애플리케이션에 대한 통찰력을 제공합니다. 또한 애플리케이션 스레드에 대한 세부 사항도 제공합니다. 이 장에서는 Java 애플리케이션 프로파일 링을위한 VisualVM 도구의 사용법에 대해 설명합니다. CPU 및 힙과 같은 엔티티를 프로파일 링 할 수 있습니다.

이 튜토리얼의 독자는 애플리케이션 프로파일 러 개념을 잘 알고있는 것이 좋습니다.

소개

VisualVM은 JDK 도구를 통합하고 강력한 프로파일 링 기능을 제공하는 시각적 도구입니다. 힙 데이터를 생성 및 분석하고, 메모리 누수를 추적하고, 가비지 수집기를 모니터링하고, 메모리 및 CPU 프로파일 링을 수행 할 수 있습니다.

혜택

  • JVM에서 실행되는 로컬 및 원격 Java 애플리케이션을위한 시각적 인터페이스입니다.

  • 애플리케이션의 메모리 사용량 및 애플리케이션의 런타임 동작 모니터링.

  • 애플리케이션 스레드 모니터링

  • 다른 응용 프로그램에 대한 메모리 할당 분석.

  • 스레드 덤프-교착 상태 및 경쟁 조건의 경우 매우 편리합니다.

  • 힙 덤프-힙 메모리 할당을 분석하는 데 매우 편리합니다.

구성

이 섹션에서는 VisualVM을 구성하기 위해 수행되는 단계에 대해 알아 봅니다. 단계는 다음과 같습니다-

  • 여기 에서 다운로드 하십시오 .

  • zip 파일을 추출하십시오.

  • etc / visualvm.conf 파일로 이동하여이 파일에 다음 행을 추가하십시오.

visualvm_jdkhome=<path of JDK>
  • JDK가 C:\Program Files\Java\jdk-9.0.1 디렉토리 다음과 같이 보일 것입니다-

visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"

모니터링 애플리케이션

이제 애플리케이션을 모니터링하는 방법을 살펴 보겠습니다. 같은 것을 이해하려면 다음 단계를 고려하십시오.

  • visualvm.exe 파일을 두 번 클릭합니다.
  • 왼쪽 창에서 응용 프로그램을 선택합니다.
  • 모니터 탭을 선택합니다.

CPU, 힙, 클래스 및 스레드에 대한 세부 정보를 얻을 수있는 창으로 이동합니다. 사용법을 구체적으로 알아 보려면 그래프 위로 마우스를 가져갑니다. 위의 스크린 샷에서 힙의 사용법을 볼 수 있습니다.

스레드에 대한 통찰력

Java 애플리케이션은 여러 실행 스레드를 포함 할 수 있습니다. 스레드에 대해 자세히 알아 보려면 특정 응용 프로그램의 스레드 탭을 선택하십시오. 라이브 스레드 및 데몬 스레드 수와 같은 스레드에 대한 다양한 통계를 제공합니다. 다른 스레드 상태는 실행 중, 잠자기, 대기 중, 주차 및 모니터링입니다.

샘플링 응용

VisualVM은 CPU, 메모리 샘플링 및 메모리 누수 감지를 지원합니다. 응용 프로그램을 샘플하려면 응용 프로그램을 선택하고 샘플 탭을 선택하십시오.

CPU 샘플링

CPU 샘플링의 경우 다음 스크린 샷과 같이 CPU 버튼을 클릭합니다.

메모리 프로파일 링

메모리 프로파일 링의 경우 다음 스크린 샷과 같이 메모리 버튼을 클릭합니다.

메모리 누수

메모리 누수는 응용 프로그램이 실행되는 동안 프로그램에 의해 자동으로 삭제되지 않는 개체로 힙을 천천히 채울 때 발생합니다.

프로그램에서 사용하지 않는 객체를 삭제하지 않으면 메모리에 남아 있으며 GC는 해당 공간을 회수 할 수 없습니다. 응용 프로그램의 바이트 수와 인스턴스 수가 프로그램에서 모든 공간을 사용할 정도로 지속적으로 크게 증가하는 경우 메모리 누수를 나타내는 것일 수 있습니다.

애플리케이션 프로파일 링

이 섹션에서는 애플리케이션을 프로파일 링하는 방법을 배웁니다. 응용 프로그램을 프로파일 링하려면 왼쪽 창에서 응용 프로그램을 선택하고 프로파일 탭을 클릭하십시오-

CPU 프로파일 링

CPU 프로파일 링을 수행하려면 아래 스크린 샷과 같이 CPU 버튼을 클릭하십시오.

메모리 프로파일 링

CPU 프로파일 링을 수행하려면 아래 스크린 샷과 같이 CPU 버튼을 클릭하십시오.