본문 바로가기
Programming/Java_Spring

IntelliJ 프로파일링 - 내용 분석하기

by 곰네Zip 2022. 7. 20.

IntelliJ를 이용한 프로파일링에 대해 기술한다.

* IntelliJ 프로파일링
IntelliJ에서 성능프로파일링 - Profiler실행

프로파일러 실행방법은 위에 있고..

프로파일러의 내용을 확인하기 위해서는 하단 탭의 Profiler를 선택하거나

View -> Tool Windows -> Profiler를 선택한다.

Profiler가 매우 아래에 있어서 스샷에서 좀 잘랐습니다.

아래 Profiler를 확인해보면 다음과 같이 창이 뜬다.

Profile의 Home을 선택하자.

그러면 현재 실행중인 프로세스의 CPU와 메모리 상태를 확인할 수 있다.

Live CPU and Memory Status창

 좌측의 눈 아이콘을 선택하면 프로그램 실행부터~현재까지의 데이터를 모두 표시하는 Show All Data나,

최근 60초만, 또는 최근 5분간만의 데이터만 볼 수 있는 옵션이 있다.

 그리고 해당 아이콘 아래로 두번째에 카메라 아이콘이 있는데, 해당 아이콘을 선택하면 

Capture Memory Snapshot

Get Thread Dump

를 선택할 수 있다. 이는 아까 보았던 메뉴의 기능과 동일하다.

스레드 덤프

 덤프한 시점의 모든 데이터는 다 남는것 같다. 문제 생기는 시점에 분석하기 좋을듯

 

메모리 스냅샷

메모리를 어떻게 점유하고 있는지 보여주는.. 

프로파일 종료 후 Profiler가 준비한 리포트를 열어보면 다음과 같이 뜬다.

무언가 탭이 많다...

Flame graph, Call Tree, Method List, Timeline, Events가 있다. 자세한 설명은 JetBrains로..

Flame graph : 코드 경로 중 누가 많이 CPU를 불러왔는가. 

Call Tree : 각 호출별로 call hierarchy를 보여준다고.. (맞나?)

Method list : 메소드별로 얼마나 호출되었나

Timeline : 시간대별로.. 

등등 여러가지 정보를 파악할 수 있는 것 같다.

 

이것 외에도 JetBrains에 가면 여러가지 확인할 수 있는것 같다.

 

반응형

댓글