実行中のプロセスで使用されるメモリを分析するためにJConsoleを実行しようとしましたが、JConsoleはプロセスが表示されません。 JConsoleもプロセスリストにありますが、そうではありません)。JConsoleがプロセスを見つけることができません
なぜ誰もプロセスを表示しないアイデアはありますか?
乾杯
実行中のプロセスで使用されるメモリを分析するためにJConsoleを実行しようとしましたが、JConsoleはプロセスが表示されません。 JConsoleもプロセスリストにありますが、そうではありません)。JConsoleがプロセスを見つけることができません
なぜ誰もプロセスを表示しないアイデアはありますか?
乾杯
私は同じ問題があります。しかし、jconsole 1234
のようにPIDを明示的に指定すると、jconsoleはプロセスを分析できます。
ウィンドウプロンプトでecho%TMP%を実行すると、デフォルトのtemp dirが表示されます。そのディレクトリに移動し、hsperfdata_という名前のディレクトリがあなたのログインであることを確認してください。これはプロセスIDを格納するディレクトリです。 Javaアプリケーションなど作成した新しいプロセスには、プロセスIDで指定された新しいファイルが作成されます。 JconsoleはこのディレクトリからプロセスIDを取得します。このディレクトリにファイルを作成できない場合は、書き込み許可の変更権限が必要です。いったん完了したら、新しいJavaアプリケーションを起動して、新しいプロセスIDファイルがディレクトリにあるかどうかを確認します。確認したら、jconsoleを開始します
これは、監視対象のJVMと監視ツール(JConsole/JMC/Java Mission Control、おそらくVisualVM)で%TMP%値が異なる場合に発生します。 これはCygwinの標準的なシナリオです(少なくとも私のケースではCygwin + Babun) 最も簡単な解決策は、少なくともJVMを起動するシェルの範囲で、TMP環境変数の値をWindowsが使用するデフォルト値に設定することです。
私の場合、hsperfdata_USERNAME
ディレクトリ(%TMP%
ディレクトリ)を削除し、すべてのJVMを閉じるのが助けになりました。
解析するプロセスと同じユーザーがjconsoleを起動する必要があります。 Windows上でJConsoleを実行している場合
でも、私は同じユーザーから実行していますが、私はまだjconsoleを実行できません。 –
することは - 単に:
これを行う方法の詳細を教えてください。 –