実行中の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コマンドの引数としてコマンド名を使用します。
ノート: 引数にスペースが含まれている場合は、それらを一重引用符または二重引用符('または")で囲む必要があります。 さらに、システム・シェルが引用符を処理しないように、一重引用符または二重引用符をバックスラッシュ(\)でエスケープする必要があります。 または、これらの引数を一重引用符で囲んでから二重引用符で囲む(または二重引用符で囲んでから一重引用符で囲む)こともできます。