jcmd(1)

名前
jcmd - 実行中のJava Virtual Machine (JVM)に診断コマンド・リクエストを送信します。

概要

    jcmd [-l|-h|-help]

    jcmd pid|main-class PerfCounter.print

    jcmd pid|main-class -f filename

    jcmd pid|main-class command[ arguments]

説明

jcmdユーティリティは、JVMに診断コマンド・リクエストを送信するために使用されます。これはJVMが稼働しているのと同じマシンで使用し、JVMの起動に使用したものと同じ有効ユーザーおよびグループ識別子を持っている必要があります。

注意: リモート・マシンから、または別の識別子で診断コマンドを起動するには、com.sun.management.DiagnosticCommandMBeanインタフェースを使用できます。DiagnosticCommandMBeanインタフェースの詳細は、http://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/DiagnosticCommandMBean.htmlにあるAPIドキュメントを参照してください。

jcmdを引数なしまたは- lオプションを指定して実行した場合は、実行中のJavaプロセス識別子のリストが、メイン・クラスおよびプロセスの起動に使用されたコマンド行引数とともに出力されます。-hまたは-helpオプションを指定してjcmdを実行すると、ツールのヘルプ・メッセージが出力されます。

プロセス識別子(pid)またはメイン・クラス(main-class)を最初の引数として指定した場合、jcmdは、識別子を指定した場合はJavaプロセスに、メイン・クラスの名前を指定した場合はすべてのJavaプロセスに診断コマンド・リクエストを送信します。プロセス識別子として0を指定して、すべての使用可能なJavaプロセスに診断コマンド・リクエストを送信することもできます。診断コマンド・リクエストとして、次のいずれかを使用します。

Perfcounter.print
    指定したJavaプロセスで使用可能なパフォーマンス・カウンタが出力されます。パフォーマンス・カウンタのリストはJavaプロセスによって異なる場合があります。

-f filename
    診断コマンドを読み取り、指定したJavaプロセスに送信するファイルの名前。-fオプションでのみ使用します。ファイル内の各コマンドは、1行で記述する必要があります。番号記号(#)で始まる行は無視されます。すべての行が読み取られるか、stopキーワードを含む行が読み取られると、ファイルの処理が終了します。

command [arguments]
    指定されたJavaプロセスに送信するコマンド。指定したプロセスで使用できる診断コマンドのリストは、このプロセスに対してhelpコマンドを送信すれば表示されます。各診断コマンドに独自の引数セットがあります。コマンドの説明、構文および使用可能な引数のリストを表示するには、helpコマンドの引数としてコマンド名を使用します。

    注意: 引数にスペースが含まれている場合は、一重引用符または二重引用符('または")で囲む必要があります。加えて、オペレーティング・システム・シェルが引用符を処理しないように、バックスラッシュ(\)で一重引用符または二重引用符をエスケープする必要があります。または、これらの引数を一重引用符で囲んでから、二重引用符で囲むこともできます(または二重引用符で囲んでから、一重引用符で囲む)。

オプション

各オプションは互いに排他的です。

-f filename
    指定されたファイルからコマンドを読み取ります。このオプションは、最初の引数としてプロセス識別子またはメイン・クラスを指定する場合にのみ使用できます。ファイル内の各コマンドは、1行で記述する必要があります。番号記号(#)で始まる行は無視されます。すべての行が読み取られるか、stopキーワードを含む行が読み取られると、ファイルの処理が終了します。

-h
-help
    ヘルプ・メッセージが出力されます。

-l
    実行中のJavaプロセス識別子のリストをメイン・クラスおよびコマンド行引数とともに出力します。

関連項目

    • jps(1)