名前
jcmd - 実行中のJava Virtual Machine (JVM)への診断コマンド・リクエストの送信
シノプシス
jcmd [pid | main-class] command... | PerfCounter.print | -f filename
jcmd [-l]
jcmd -h
- pid
- 使用すると、
jcmdユーティリティは、JavaプロセスのプロセスIDに診断コマンド要求を送信します。 - main-class
- 使用すると、
jcmdユーティリティは、指定されたメイン・クラス名を持つすべてのJavaプロセスに診断コマンド要求を送信します。 - command
commandは、選択されたJVMに対して有効なjcmdコマンドである必要があります。jcmdで使用可能なコマンドのリストは、helpコマンド(jcmdpidhelp)を実行することによって取得されます。pidは、実行中のJavaプロセスのプロセスIDです。 pidが0の場合、コマンドはすべてのJavaプロセスに送信されます。 メイン・クラス引数は、Javaの起動に使用されるクラスとの部分照合または完全照合に使用されます。 オプションが指定されていない場合、プロセスの起動に使用されたメイン・クラス引数およびコマンド行引数とともに、実行中のJavaプロセス識別子をリストします(-lの使用と同様)。Perfcounter.print- 指定されたJavaプロセスによって公開されるパフォーマンス・カウンタを出力します。
-ffilename- 指定されたファイル(filename)からコマンドを読み取り、実行します。
-lプロセスの起動に使用されたメイン・クラス引数およびコマンド行引数とともに、別のDockerプロセスで実行されていないJava仮想マシンのプロセス識別子のリストを表示します。 JVMがDockerプロセス内にある場合、
psなどのツールを使用してPIDを参照する必要があります。注:
引数を指定しないで
jcmdを使用することは、jcmd -lを使用することと同じです。-hjcmdユーティリティのコマンド行ヘルプを表示します。
説明
jcmdユーティリティは、JVMに診断コマンド要求を送信する際に使用されます。 JVMが実行されているものと同じマシン上で使用され、JVMの起動で使用されたものと同じ有効なユーザーおよびグループ識別子を持っている必要があります。 診断コマンドには、それぞれ独自の引数セットがあります。 診断コマンドで使用可能な引数の説明、構文およびリストを表示するには、コマンド名を引数として使用します。 次に例を示します。
jcmdpidhelpcommand
引数に空白が含まれる場合は、それらを一重引用符または二重引用符('または")で囲む必要があります。 さらに、システム・シェルが引用符を処理しないように、一重引用符または二重引用符をバックスラッシュ(\)でエスケープする必要があります。 または、これらの引数を一重引用符で囲んでから二重引用符で囲む(または二重引用符で囲んでから一重引用符で囲む)こともできます。
プロセス識別子(pid)またはメイン・クラス(main-class)を1つ目の引数として指定すると、jcmdユーティリティは、指定された識別子を持つJavaプロセスまたは指定されたメイン・クラス名を持つすべてのJavaプロセスに診断コマンド要求を送信します。 また、プロセス識別子として0を指定すると、診断コマンド要求を使用可能なすべてのJavaプロセスに送信できます。
jcmdのコマンド
commandは、選択されたJVMに対して有効なjcmd診断コマンドである必要があります。 jcmdで使用可能なコマンドのリストは、helpコマンド(jcmd pid help)を実行することによって取得されます。pidは、実行中のJavaプロセスのプロセスIDです。 pidが0の場合、コマンドはすべてのJavaプロセスに送信されます。 メイン・クラス引数は、Javaの起動に使用されるクラスとの部分照合または完全照合に使用されます。 オプションが指定されていない場合、プロセスの起動に使用されたメイン・クラス引数およびコマンド行引数とともに、別のDockerプロセスにない実行中のJavaプロセス識別子をリストします(-lの使用と同様)。
次のコマンドを使用できます。
help[options] [arguments]特定のコマンドの詳細情報を表示します。
arguments:
- コマンド名: ヘルプ(STRING、デフォルト値なし)が必要なコマンドの名前
注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-all: (Optional)すべてのコマンドのヘルプを表示(BOOLEAN, false)。
Compiler.codecacheコード・キャッシュ・レイアウトおよび境界を出力します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)Compiler.codelistコード・キャッシュ内の有効なすべてのコンパイル済メソッドを出力します。
影響: 中
権限:
java.lang.management.ManagementPermission(monitor)Compiler.queueコンパイルの待ち行列に入れられたメソッドを出力します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)Compiler.directives_add *filename* *arguments*ファイルからコンパイラ・ディレクティブを追加します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)arguments:
filename: ディレクティブ・ファイル(STRING、デフォルト値なし)の名前
Compiler.directives_clearすべてのコンパイラ・ディレクティブを削除します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)Compiler.directives_printすべてのアクティブなコンパイラ・ディレクティブを出力します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)Compiler.directives_remove直近に追加されたコンパイラ・ディレクティブを削除します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)GC.class_histogram[options]Javaヒープの使用状況に関する統計情報を示します。
インパクト: 高 --- Javaヒープ・サイズと内容に依存します。
権限:
java.lang.management.ManagementPermission(monitor)注:
optionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-all: (Optional)は、アクセスできないオブジェクトを含むすべてのオブジェクトを検査します(BOOLEAN, false)
GC.class_stats[options] [arguments]Javaクラス・メタ・データに関する統計情報を示します。
インパクト: 高 --- Javaヒープ・サイズと内容に依存します。
注:
optionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-all: (オプション) すべての列を表示します(BOOLEAN、false)-csv: (オプション) スプレッドシートについてCSV (カンマ区切り値)形式で出力します(BOOLEAN、false)-help: (オプション) すべての列の意味を表示します(BOOLEAN、false)
arguments:
columns: (オプション) 表示されるすべての列のカンマ区切りリスト。 指定しない場合、次の列が表示されます。
InstBytes
KlassBytes
CpAll
annotations
MethodCount
Bytecodes
MethodAll
ROAll
RWAll
合計
(STRING、デフォルト値なし)
GC.finalizer_infoJavaファイナライズ・キューに関する情報を示します。
影響: 中
権限:
java.lang.management.ManagementPermission(monitor)GC.heap_dump[options] [arguments]JavaヒープのHPROF形式のダンプを生成します。
インパクト: 高 --- Javaヒープ・サイズと内容に依存します。
-allオプションを指定されていないかぎり、フルGCを要求します。権限:
java.lang.management.ManagementPermission(monitor)注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-all: (Optional)すべてのオブジェクト(アクセスできないオブジェクトを含む)のダンプ(BOOLEAN, false)
arguments:
- filename: ダンプ・ファイルの名前(STRING、デフォルト値なし)
GC.heap_infoJavaヒープの一般情報を示します。
影響: 中
権限:
java.lang.management.ManagementPermission(monitor)GC.runjava.lang.System.gc()を呼び出します。インパクト: 中 --- Javaヒープのサイズと内容に依存します。
GC.run_finalizationjava.lang.System.runFinalization()を呼び出します。インパクト: 中 --- Javaの内容に依存します。
JFR.check[options]- Java Flight Recorderコマンド・リファレンスのJFR.checkを参照してください。
JFR.configure[options]- Java Flight Recorderコマンド・リファレンスのJFR.configureを参照してください。
JFR.dump[options]- Java Flight Recorderコマンド・リファレンスのJFR.dumpを参照してください。
JFR.start[options]- Java Flight Recorderコマンド・リファレンスのJFR.startを参照してください。
JFR.stop[options]- Java Flight Recorderコマンド・リファレンスのJFR.stopを参照してください。
JVMTI.agent_load[arguments]JVMTIネイティブ・エージェントをロードします。
影響: 低
権限:
java.lang.management.ManagementPermission(control)arguments:
ライブラリ・パス: ロードするJVMTIエージェントの絶対パス。 (STRING、デフォルト値なし)
エージェント・オプション: エージェントを渡すための(Optional)オプション文字列。 (STRING、デフォルト値なし)
JVMTI.data_dumpJVMTIに対してデータ・ダンプ要求を実行するためにJVMに信号を送信します。
影響: 高
権限:
java.lang.management.ManagementPermission(monitor)ManagementAgent.start[options]リモート管理エージェントを起動します。
インパクト: 低 ---影響なし
注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
config.file: (Optional)セットcom.sun.management.config.file(STRING、デフォルト値なし)jmxremote.host: (Optional)セットcom.sun.management.jmxremote.host(STRING、デフォルト値なし)jmxremote.port: (Optional)セットcom.sun.management.jmxremote.port(STRING、デフォルト値なし)jmxremote.rmi.port: (Optional)セットcom.sun.management.jmxremote.rmi.port(STRING、デフォルト値なし)jmxremote.ssl: (Optional)セットcom.sun.management.jmxremote.ssl(STRING、デフォルト値なし)jmxremote.registry.ssl: (オプション)com.sun.management.jmxremote.registry.ssl設定します(STRING、デフォルト値なし)jmxremote.authenticate: (Optional)セットcom.sun.management.jmxremote.authenticate(STRING、デフォルト値なし)jmxremote.password.file: (Optional)セット
com.sun.management.jmxremote.password.file(STRING、デフォルト値なし)jmxremote.access.file: (Optional)セットcom.sun.management.jmxremote.acce ss.file(STRING、デフォルト値なし)jmxremote.login.config: (Optional)セットcom.sun.management.jmxremote.log in.config(STRING、デフォルト値なし)jmxremote.ssl.enabled.cipher.suites: (Optional)com.sun.managementを設定します。jmxremote.ssl.enabled.cipher.suite: (STRING、デフォルト値なし)jmxremote.ssl.enabled.protocols: (Optional)セットcom.sun.management.jmxr emote.ssl.enabled.protocols(STRING、デフォルト値なし)jmxremote.ssl.need.client.auth: (Optional)セットcom.sun.management.jmxre mote.need.client.auth(STRING、デフォルト値なし)jmxremote.ssl.config.file: (Optional)セットcom.sun.management.jmxremote. ssl_config_file(STRING、デフォルト値なし)jmxremote.autodiscovery: (Optional)セットcom.sun.management.jmxremote.au todiscovery(STRING、デフォルト値なし)jdp.port: (Optional)セットcom.sun.management.jdp.port(INT、デフォルト値なし)jdp.address: (Optional)セットcom.sun.management.jdp.address(STRING、デフォルト値なし)jdp.source_addr: (Optional)セットcom.sun.management.jdp.source_addr(STRING、デフォルト値なし)jdp.ttl: (Optional)セットcom.sun.management.jdp.ttl(INT、デフォルト値なし)jdp.pause: (Optional)セットcom.sun.management.jdp.pause(INT、デフォルト値なし)jdp.name: (Optional)セットcom.sun.management.jdp.name(STRING、デフォルト値なし)
ManagementAgent.start_localローカル管理エージェントを起動します。
インパクト: 低 ---影響なし
ManagementAgent.status管理エージェントのステータスを出力します。
インパクト: 低 ---影響なし
権限:
java.lang.management.ManagementPermission(monitor)ManagementAgent.stopリモート管理エージェントを停止します。
インパクト: 低 ---影響なし
Thread.print[options]スタック・トレースのあるすべてのスレッドを出力します。
インパクト: 中 ---スレッド数によって異なります。
権限:
java.lang.management.ManagementPermission(monitor)注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-l: (Optional)java.util.concurrentロックの印刷(BOOLEAN, false)
VM.classloader_statsすべてのクラスローダーに関する統計情報を出力します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)VM.class_hierarchy[options] [arguments]ロードされたすべてのクラスのリストを、クラス階層を示すようにインデントして出力します。 各クラスの名前の後には、ClassLoaderのClassLoaderData*が、ロードされた場合は"null"が続きます。
インパクト: 中 ---ロードするクラスの数に依存します。
権限:
java.lang.management.ManagementPermission(monitor)注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-i: (オプション) 継承されたインタフェースを出力するかどうか。 (BOOLEAN、false)-s: (オプション) クラス名が指定されている場合は、サブクラスを出力します。 クラス名が指定されていない場合は、スーパークラスのみを出力します。 (BOOLEAN、false)
arguments:
- classname: (オプション) 階層を出力するクラスの名前。 指定されていない場合、すべてのクラス階層を出力します。 (STRING、デフォルト値なし)
VM.command_lineこのVMインスタンスの起動に使用されるコマンド行を出力します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)VM.dynlibsロードされた動的ライブラリを出力します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)VM.infoJVM環境およびステータスに関する情報を出力します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)VM.log[options]現在のログ構成のリスト、ログ出力の有効化、無効化または構成、すべてのログのローテーションを行います。
影響: 低
権限:
java.lang.management.ManagementPermission(control)options:
注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。output: (オプション) 構成する出力の名前または索引(#)。 (STRING、デフォルト値なし)output_options: (オプション) 出力のオプション。 (STRING、デフォルト値なし)what: (オプション) 記録するタグを構成します。 (STRING、デフォルト値なし)decorators: (オプション) 使用するデコレータを構成します。 すべて削除するには、'none'または空の値を使用します。 (STRING、デフォルト値なし)disable: (Optional)すべてのロギングをオフにし、ログ構成をクリアします。 (BOOLEAN、デフォルト値なし)list: (オプション) 現在のログ構成をリストします。 (BOOLEAN、デフォルト値なし)rotate: (オプション) すべてのログをローテーションします。 (BOOLEAN、デフォルト値なし)
VM.flags[options]VMフラグ・オプションとその現行値を出力します。
影響: 低
権限:
java.lang.management.ManagementPermission(monitor)注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-all: (Optional)はVM (BOOLEAN, false)でサポートされるすべてのフラグを出力します。
VM.native_memory[options]ネイティブ・メモリー使用状況を出力します
影響: 中
権限:
java.lang.management.ManagementPermission(monitor)注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
summary: (オプション) 現在のメモリーのサマリーをレポートするようにランタイムに要求します。サマリーには予約済およびコミット済メモリーの合計とともに、各サブシステム別のメモリー使用量のサマリーが含まれます。 (BOOLEAN、false)detail: (オプション) 各コールサイト別に1K以上のメモリー割当てをレポートするようにランタイムに要求します。 (BOOLEAN、false)baseline: (オプション) 現在のメモリー使用状況のベースラインをランタイムに要求します。これにより、後で比較できます。 (BOOLEAN、false)summary.diff: (オプション) 前回ベースラインとのメモリーのサマリー比較をレポートするようにランタイムに要求します。 (BOOLEAN、false)detail.diff: (Optional)ランタイムをリクエストして、別のコール・サイトにあるメモリー割当てアクティビティを表示する前のベースラインとのメモリー詳細比較をレポートします。 (BOOLEAN、false)shutdown: (オプション) ランタイム自体を停止し、ランタイムで使用したメモリーを解放するようにランタイムに要求します。 (BOOLEAN、false)statistics: (オプション) チューニング目的用にトラッカの統計情報を出力します。 (BOOLEAN、false)scale: (Optional)のメモリー使用量(スケール、KB、MBまたはGB )(STRING、KB)
VM.print_touched_methodsこのJVMの存続期間中にアクセスされたすべてのメソッドを出力します。
インパクト: 中 --- Javaの内容に依存します。
VM.set_flag[arguments]指定された値を使用してVMフラグ・オプションを設定します。
影響: 低
権限:
java.lang.management.ManagementPermission(control)arguments:
フラグ名: (STRING、デフォルト値なし)を設定するフラグの名前
文字列値: (Optional)設定対象の値(STRING、デフォルト値なし)
VM.stringtable[options]文字列表をダンプします。
インパクト: 中 --- Javaの内容に依存します。
権限:
java.lang.management.ManagementPermission(monitor)注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-verbose: (Optional)は表(BOOLEAN, false)の各文字列のコンテンツをダンプ
VM.symboltable[options]シンボル表をダンプします。
インパクト: 中 --- Javaの内容に依存します。
権限:
java.lang.management.ManagementPermission(monitor)注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-verbose: (Optional)は表(BOOLEAN, false)の各シンボルのコンテンツをダンプ
VM.systemdictionaryディクショナリ・ハッシュ表サイズおよびバケット長の統計情報を出力します。
影響: 中
権限:
java.lang.management.ManagementPermission(monitor)注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
verbose: (Optional)すべてのクラス・ローダー(BOOLEAN, false)の各ディクショナリ・エントリのコンテンツをダンプします。
VM.system_propertiesシステム・プロパティを出力します。
影響: 低
権限:
java.util.PropertyPermission(*, read)VM.uptime[options]VMの稼働時間を出力します。
影響: 低
注:
次のoptionsは、keyまたはkey
=value構文を使用して指定する必要があります。options:
-date: (Optional)は、現在の日付でプレフィクスを追加します(BOOLEAN, false)
VM.versionJVMバージョン情報を出力します。
影響: 低
権限:
java.util.PropertyPermission(java.vm.version, read)