2012-12-06 33 views
14

実行中のプロセスで使用されるメモリを分析するためにJConsoleを実行しようとしましたが、JConsoleはプロセスが表示されません。 JConsoleもプロセスリストにありますが、そうではありません)。JConsoleがプロセスを見つけることができません

なぜ誰もプロセスを表示しないアイデアはありますか?

乾杯

答えて

10

私は同じ問題があります。しかし、jconsole 1234のようにPIDを明示的に指定すると、jconsoleはプロセスを分析できます。

+1

これを行う方法の詳細を教えてください。 –

15

ウィンドウプロンプトでecho%TMP%を実行すると、デフォルトのtemp dirが表示されます。そのディレクトリに移動し、hsperfdata_という名前のディレクトリがあなたのログインであることを確認してください。これはプロセスIDを格納するディレクトリです。 Javaアプリケーションなど作成した新しいプロセスには、プロセスIDで指定された新しいファイルが作成されます。 JconsoleはこのディレクトリからプロセスIDを取得します。このディレクトリにファイルを作成できない場合は、書き込み許可の変更権限が必要です。いったん完了したら、新しいJavaアプリケーションを起動して、新しいプロセスIDファイルがディレクトリにあるかどうかを確認します。確認したら、jconsoleを開始します

+1

javaプロセスがcygwinから起動された場合、期待されるものとは異なるTEMPフォルダがあります - jconsole、エクスプローラから起動してプロセスを見つけられません。 – Kai

+0

ありがとうJames!私のために働いたアクセス許可を修正! :) – baraka

1

これは、監視対象のJVMと監視ツール(JConsole/JMC/Java Mission Control、おそらくVisualVM)で%TMP%値が異なる場合に発生します。 これはCygwinの標準的なシナリオです(少なくとも私のケースではCygwin + Babun) 最も簡単な解決策は、少なくともJVMを起動するシェルの範囲で、TMP環境変数の値をWindowsが使用するデフォルト値に設定することです。

2

私の場合、hsperfdata_USERNAMEディレクトリ(%TMP%ディレクトリ)を削除し、すべてのJVMを閉じる​​のが助けになりました。

0

解析するプロセスと同じユーザーがjconsoleを起動する必要があります。 Windows上でJConsoleを実行している場合

+0

でも、私は同じユーザーから実行していますが、私はまだjconsoleを実行できません。 –

0

することは - 単に:

  1. jconsole.exe
  2. を探す右
  3. それをクリックし、管理者として実行]を選択します。
関連する問題