4.2. 診断コマンド (JCMD) を使用した JDK Flight Recorder の設定
Java 診断コマンドを使用して、JDK Flight Recorder (JFR) を設定できます。診断コマンドを実行する最も簡単な方法は、Java インストールディレクトリーにある jcmd
ツールを使用する方法です。このコマンドを使用するには、JVM のプロセス識別子またはメインクラスの name と、実際のコマンドを jcmd
への引数として渡す必要があります。引数なしで jcmd
を実行するか、jps
を使用して JVM またはメインクラスの名前を取得できます。jps
(Java Process Status) ツールは、アクセス権限のあるターゲットシステムの JVM をリスト表示します。
実行中の Java プロセスのリストを表示するには、引数を指定せずに jcmd
コマンドを使用します。実行中の Java アプリケーションで利用可能なコマンドの完全なリストを表示するには、プロセス ID またはメインクラスの名前の後に診断コマンドとして help を指定します。
JFR で以下の診断コマンドを使用します。
4.2.1. JFR の起動
JFR.start
diagnostic コマンドを使用して、フライトの録画を開始します。以下に例を示します。
jcmd <PID> JFR.start delay=10s duration=10m filename=recording.jfr
jcmd <PID> JFR.start delay=10s duration=10m filename=recording.jfr
パラメーター | 説明 | データ型 | デフォルト値 |
---|---|---|---|
name | 記録の名前 | 文字列 | - |
settings | サーバー側テンプレート | 文字列 | - |
duration | 記録期間 | 時間 | 0s |
filename | 生成される記録ファイル名 | 文字列 | - |
maxage | バッファーデータの最大期間 | 時間 | 0s |
maxsize | バッファーの最大サイズ (バイト単位) | ロング | 0 |
dumponexit | JVM シャットダウン時のダンプ実行の記録 | ブール値 | - |
path-to-gc-roots | ガベッジコレクタールートへの収集パス | ブール値 | False |
4.2.2. JFR の停止
JFR.stop
diagnostic コマンドを使用して、フライトレコーの録画を停止します。以下に例を示します。
jcmd <PID> JFR.stop name=output_file
jcmd <PID> JFR.stop name=output_file
パラメーター | 説明 | データ型 | デフォルト値 |
---|---|---|---|
name | 記録の名前 | 文字列 | - |
filename | 録画データをファイルにコピーします。 | 文字列 | - |
4.2.3. JFR のチェック
JFR.check
コマンドを使用して、進行中の録画に関する情報を表示します。以下に例を示します。
jcmd <PID> JFR.check
jcmd <PID> JFR.check
パラメーター | 説明 | データ型 | デフォルト値 |
---|---|---|---|
name | 記録の名前 | 文字列 | - |
filename | 録画データをファイルにコピーします。 | 文字列 | - |
maxage | ダンプファイルの最大サイズ | 時間 | 0s |
maxsize | ダンプする最大バイト数 | ロング | 0 |
begin | データのダンプ開始 | 文字列 | - |
end | データをダンプする終了時間 | 文字列 | - |
path-to-gc-roots | ガベッジコレクタールートへの収集パス | ブール値 | false |
4.2.4. JFR のダンプ
JFR.dump
diagnostic コマンドを使用して、フライト録画のコンテンツをファイルにコピーします。以下に例を示します。
jcmd <PID> JFR.dump name=output_file filename=output.jfr
jcmd <PID> JFR.dump name=output_file filename=output.jfr
パラメーター | 説明 | データ型 | デフォルト値 |
---|---|---|---|
name | 記録の名前 | 文字列 | - |
filename | 録画データをファイルにコピーします。 | 文字列 | - |
maxage | ダンプファイルの最大サイズ | 時間 | 0s |
maxsize | ダンプする最大バイト数 | ロング | 0 |
begin | データのダンプ開始 | 文字列 | - |
end | データをダンプする終了時間 | 文字列 | - |
path-to-gc-roots | ガベッジコレクタールートへの収集パス | ブール値 | false |
4.2.5. JFR の設定
JFR.configure
diagnostic コマンドを使用して、フライトの録画を設定します。以下に例を示します。
jcmd <PID> JFR.configure repositorypath=/home/jfr/recordings
jcmd <PID> JFR.configure repositorypath=/home/jfr/recordings
パラメーター | 説明 | データ型 | デフォルト値 |
---|---|---|---|
repositorypath | リポジトリーのパス | 文字列 | - |
dumppath | ダンプのパス | 文字列 | - |
stackdepth | スタックの深さ | Jlong | 64 |
globalbuffercount | グローバルバッファーの数 | Jlong | 32 |
globalbuffersize | グローバルバッファーのサイズ | Jlong | 524288 |
thread_buffer_size | スレッドバッファーのサイズ | Jlong | 8192 |
memorysize | 全体的なメモリーサイズ | Jlong | 16777216 |
maxchunksize | 個々のディスクチャンクのサイズ | Jlong | 12582912 |
Samplethreads | スレッドサンプリングの有効化 | ブール値 | true |
改訂日時: 2024-05-10