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
-f filename
command [arguments]
注意: 引数にスペースが含まれている場合は、一重引用符または二重引用符('または")で囲む必要があります。加えて、オペレーティング・システム・シェルが引用符を処理しないように、バックスラッシュ(\)で一重引用符または二重引用符をエスケープする必要があります。または、これらの引数を一重引用符で囲んでから、二重引用符で囲むこともできます(または二重引用符で囲んでから、一重引用符で囲む)。
各オプションは互いに排他的です。
-f filename
-h
-help
-l