SSブログ

jconsoleはリモートデスクトップでは使えない!? [java]

javaアプリケーションのヒープサイズが足りないというトラブルが発生しました。
javaはぜーんぜん得意じゃありません。
Googleさんにいろいろ教えていただくと、jconsoleというツールが見つかりました。
jconsoleはヒープの推移などリソースやパフォーマンス情報をモニタするツールです。
JDKをインストールすれば、binにjconsoleがあります。

今回のプラットフォームはWindowsです。
さっそく、jconsoleをダブルクリックで起動します。
Local Processに表示されるプロセスIDにアタッチできます。
が、Local Processに表示jconsole自体のプロセスしか表示されません。

目的のプロセスは、タスクマネージャで見ると、ユーザー名にSYSTEMと表示されます。
あーーー、Local Systemで実行されているので、ログオンユーザーではアタッチできません。

仕方なく、PsExecを使い、SYSTEMの権限でjconsoleを起動します。
でも、プロセスは表示されません。

試行錯誤した結果、WindowsサーバーのコンソールからSYSTEMで起動した場合のみアタッチできることがわかりました。リモートデスクトップで表示したデスクトップからは、プロセスは一切、表示されませんでした。

あぁ、面倒!!

教訓1:jconsoleはアタッチしたいプロセスと同じユーザーで起動すること。
教訓2:jconsoleはリモートデスクトップから起動しないこと。

皆さんも気をつけてくださいね。

次回もお楽しみに!!

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。