0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenJ9 JVM の heap dumpをMemory Analyzerで解析する

Posted at

2023/11/20
新規作成

経緯・課題

・業務で java heap dump の仕様を調査する必要があり、memory analyzerをMacOSに導入したので備忘録として残しておきます。


前提・環境など

・MacOS Sonoma (14.1) Apple M1 Pro
・java jdk-17.0.8.1+1 (IBM OpenJ9)


参考知識

IBM SDK, Java Technology Edition 8 - 診断ツールおよびデータ


1.二種類のMATツール

 Memory Analyzer tool (MAT)は2種類利用方法があります。
 ・Eclipse版
  Eclipseを普段から利用している場合、Eclipseにプラグインとして追加することが可能です。

 ・スタンドアロン版
  単純にMATだけ手っ取り早く使いたい、という方はこちらがおすすめです。

1-1.Eclipse版
1-1-1. Market Placeからの導入

 ここでは、Eclipse導入済みの前提で記載します。

 Help > Eclipse Marketplace を選択し、Memory Analyzer x.xx.x を検索、導入します。
 (図は、Memory Analyzer 1.13.0 を導入済みの場合
 
  

Eclipseを再起動すると、Help > Memory Analyzer Diagnostics... が利用可能になります。
   

 さらに、右上のパースペクティブ選択ボタンから、Memory Analyzer のパースペクティブの利用が可能になります。
   

 Memory Analyzer のパースペクティブに切り替えた後、以下のように "Open Heap Dump"が選択できるようになります。
   

1-1-2.java sdk home 設定

 
 
 eclipse もしくはMATが起動できない場合、以下のようにします。
 パッケージの内容を表示して、Info.plist ファイルの内容を書き換えます。
  

 以下のように、各自の$JAVA_HOMEに応じて、JDKのパスを記載します。
  

  参考: Not able to run Eclipse on macOS Big Sur

1-2.スタンドアロン版
1-2-1.ダウンロード

  IBM サイトからダウンロードできます。
  Memory Analyzer (MAT)
  dump heapの Java versionに依存して2種類あります。
・IBM Java 8
・IBM Semeru Runtimes Java (IBM Java 8の後継)

  その他、サイトの手順に従ってtarを解凍します。


2.OpenJ9 JVMのdumpを解析するための設定

 (この手順は、上記IBMサイトからDLしたスタンドアロン版では不要です。)
 ここでJVMの種類について述べておきます。JVMは、Java 仮想マシンといい、各OSの上でJava バイナリコードを翻訳・実行するための仲介をするソフトウェアです。いくつか種類があり、HotSpot 、OpenJ9などのJVMがあります。これらはガベージコレクションの挙動や、heap内部の構造が異なります。OpenJ9版のJVMが出力したheapを解析できるよう、対応したプラグインを導入する必要があります。
 
 ちなみに、Hotspot JVM で出力されるheap dumpの拡張子は.hprof、OpenJ9 JVM で出力されるheap dumpの拡張子は.phd (portable heap dump)となります。

 下図のように、Install New Softwareを選択します。

  
 

"IBM Diagnostic Tool Framework for Java" を検索し、導入します。

  

十分以上かかります。
  

 
参考:IBM SDK, Java Technology Edition 8 - Heap dump

 これで、.phd拡張子のファイルも読み込みできるようになりました。

 

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?