8 よくある質問

この項では、JDK Mission Controlについてよくある質問をリストします。

JVMに接続できません。何が問題でしょうか。

次の点について考察します:
  • 正しいプロトコルを使用していますか。

    モニター対象のJVMのバージョンと、JMCアプリケーションを実行しているJVMのバージョンが同じであることを確認してください。

    サービスURLの形式です。

    service:jmx:rmi:///jndi/rmi://<hostname>/jmxrmi

  • 正しいポートが開いていますか。

    RMIを介してJMXを実行するには2つのポートが必要で、ポートの1つは事前に認識されていません。

  • 通信がファイアウォールによってブロックされていますか。

    詳細は、JDK Mission Controlの通信に関する項を参照してください。

JVMに接続しようとすると、JVMが不明のIPまたはホスト名との通信を試行しているというスタック・トレースが表示されます。

RMIではときどき、使用するアドレスを決定する際に問題が生じることがあります。これは、次のいずれかの理由で発生する可能性があります。

  • セキュリティ・マネージャでアクセスの制限があります。

  • マシンがマルチホームであり、RMIが間違ったインタフェースを選択しています。

  • 誤って構成されたhostsファイルが存在しているか、多くの様々なネットワーク関連の構成の問題があります。

他のすべてが失敗した場合、java.rmi.server.hostnameシステム・プロパティの設定を試みてください。これは、JVMで実行されているアプリケーションに影響を与える可能性があります。

クラスが見つからないという例外が起動時に発生します。何が間違っていますか。

次の場所からJMCを起動してください:
  • Windows: <JMC_ROOT>\bin
  • Linux: <JMC_ROOT>/bin
  • macOS: <JMC_ROOT>/JDK Mission Control.app

JDK Mission ControlがローカルのJVMを検出できないのはなぜですか。

この問題を解決するには、Windowsプラットフォームの場合、次の点について考察します:

  • <JMC_ROOT>\binを使用してJMCクライアントを起動していることを確認します。

  • JDK 8(以降)のシステム・パス(<jdk_installation_path>\bin)がPATH環境変数に設定されています。

  • jmc.exeを開くときは、PATHに対するアクセス権があることを確認し、そうでない場合は管理者として実行します。

  • EclipseからJMCを実行する場合、Eclipseが(JREではなく)JDK上で実行されていることを確認します。

  • システムのtmpディレクトリにhsperfdata_usernameという名前のディレクトリが存在し、JMCを実行しているユーザーが書込み可能であること、さらにファイル・システムがアクセス制御リスト(ACL)をサポートしていることを確認します。

ノート:

LinuxおよびmacOSの構成の詳細は、JDK Mission Control 7のインストール手順を参照してください。