Kengo's blog

Technical articles about original projects, JVM, Static Analysis and TypeScript.

Threaddump, JFR, JMC周りの知識のアップデート

久々に古い知識を整理していて、けっこう更新されているものが多いのでここにまとめる。

JDK Mission Control (JMC)

JMCはOracleのウェブサイトからダウンロードできる。

標準ではOS標準のロケールが利用される。UIを日本語化する場合は jmc.iniuser.language システムプロパティを設定する。これはJVMに渡す設定なので必ず -vmargs よりも後ろに書く(Eclipseの設定と同じ)。

-Duser.language=ja

利用するJVMは jmc.ini-vm システムプロパティを設定する。これはJVM起動前に使うので -vmargs よりも前に書く。

-vm
C:\Program Files\Java\jdk-17.0.7.7\bin\javaw.exe

ThreaddumpとJFR

昔はThreaddumpファイルを複数取ってIBM Thread Dump Analyzerなどで解析していたが、今ならJFRファイルにスレッドダンプの情報が含まれるためJFRを取得すれば充分そう。

JMCで取得したJFRファイルには、期間中のスレッドダンプの情報が含まれている

JFRファイルはJMCで取得するのが一番手軽。