JVM をホストする Win64 C++ プログラムがあります。正常に実行すると、JConsole から接続して統計を表示できます。プロセスがローカル プロセスのリストに表示されます。
同じプログラムが別のユーザーとして (資格情報が保存されたスケジュールされたジョブから) 実行されている場合、そのプロセスはリストに表示されません。マシンの管理者権限を持っていますが、それが問題かどうかはわかりません。
Java はhsperfdata_xxx
、TEMP ディレクトリにディレクトリを作成します。その中には、jvm で実行されているプロセスの情報が保存されます。jconsole を実行している jvm が、検査する Java アプリケーションと同じディレクトリを使用している場合にのみ、相互に認識できます。
他のユーザーは他の TEMP ディレクトリを持っていると思います。そのため、jconsole は他のアプリケーションを認識できません。
両方のユーザーに同じ TEMP ディレクトリを設定することをお勧めします。
1 人のユーザーに複数の Java をインストールすると、この問題が発生しました。
タスク マネージャーでプロセスの PID を見つけて実行します。
"PATH_TO_JDK_BIN\jconsole" PID