実行中のJava仮想マシン(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ドキュメントを参照してください |
引数を付けずに、または-l
オプションを指定してjcmd
を実行すると、プロセスの起動時に使用されたメイン・クラスおよびコマンド行引数とともに、実行中のJavaプロセス識別子のリストが出力されます。-h
または-help
オプションを付けてjcmd
を実行すると、ツールのヘルプ・メッセージが出力されます。
注: jcmd ユーティリティを使用して、すでに実行中のJVM内のJava Flight Recorder (JFR)と動的に対話することができます。商用機能のロックの解除、動作記録の有効化/開始/停止、およびシステムからの様々なステータス・メッセージの取得のために使用できます。例一覧は、『Java Flight Recorderランタイム・ガイド』(http://docs.oracle.com/javacomponents/jmc.htm )を参照してください |
プロセス識別子(pid)またはメイン・クラス(main-class)を1番目の引数として指定すると、jcmd
は診断コマンド要求を、指定した識別子を持つJavaプロセスまたは指定したメインクラス名を持つすべてのJavaプロセスに送信します。また、プロセス識別子として0
を指定すると、診断コマンド要求を使用可能なすべてのJavaプロセスに送信できます。診断コマンド要求として次のいずれかを使用します。
指定したJavaプロセスで使用可能なパフォーマンス・カウンタを出力します。パフォーマンス・カウンタのリストはJavaプロセスによって異なる場合があります。
診断コマンドが読み取られ、指定したJavaプロセスに送信されるファイルの名前です。-f
オプションと一緒にのみ使用されます。ファイル内の各コマンドは、1行で記述する必要があります。番号記号(#
)で始まる行は無視されます。すべての行が読み取られるか、またはstop
キーワードを含む行が読み取られると、ファイルの処理が終了します。
指定したJavaプロセスに送信されるコマンドです。指定したプロセスで使用できる診断コマンドのリストは、このプロセスにhelp
コマンドを送信することで取得できます。診断コマンドには、それぞれ独自の引数セットがあります。コマンドで使用可能な引数の説明、構文およびリストを確認するには、help
コマンドの引数としてコマンド名を使用します。
注: 引数にスペースが含まれている場合は、それらを一重引用符または二重引用符('
または"
)で囲む必要があります。さらに、システム・シェルが引用符を処理しないように、一重引用符または二重引用符をバックスラッシュ(\
)でエスケープする必要があります。または、これらの引数を一重引用符で囲んでから二重引用符で囲む(または二重引用符で囲んでから一重引用符で囲む)こともできます。