機械翻訳について

jstatdコマンド

名前

jstatd - 計測されたJava HotSpot VMの作成と終了のモニター

シノプシス

ノート: このコマンドは実験的なものであり、サポートされていません。

jstatd [options]

options
これは、jstatdコマンドライン・オプションを表します。 「jstatdコマンドのオプション」を参照してください。

説明

jstatdコマンドは、計測されたJava HotSpot VMの作成および終了をモニターするRMIサーバー・アプリケーションであり、リモート・モニタリング・ツールjstatおよびjpsを有効にして、ローカル・ホストで実行されているJVMに接続し、JVMプロセスに関する情報を収集するためのインタフェースを提供します。

jstatdサーバーには、ローカル・ホスト上のRMIレジストリが必要です。 jstatdサーバーは、デフォルト・ポートまたは-p portオプションで指定したポート上のRMIレジストリに接続しようとします。 RMIレジストリが見つからない場合は、-p portオプションを省略すると、-p portオプションまたはデフォルトのRMIレジストリ・ポートにバインドされたjstatdアプリケーション内に作成されます。 内部RMIレジストリの作成は、-nrオプションを指定することによって停止できます。

jstatdコマンドのオプション

-nr
このオプションは、既存のRMIレジストリが見つからない場合に、jstatdプロセス内に内部RMIレジストリを作成しようとしません。
-p port
このオプションは、-nrオプションが指定されていない場合に、RMIレジストリが検出される予定のポート番号、または見つからない場合に作成されるポート番号を設定します。
-r rmiport
このオプションは、RMIコネクタがバインドされるポート番号を設定します。 指定しない場合、使用可能なランダムなポートが使用されます。
-n rminame
このオプションは、RMIレジストリにおいて、リモートRMIオブジェクトがバインドされる名前を設定します。 デフォルト名はJStatRemoteHostです。 複数のjstatdサーバーが同じホスト上で起動している場合、各サーバーのエクスポートしたRMIオブジェクトの名前は、このオプションを指定することによって、一意の名前にすることができます。 ただし、そのようにする場合は、モニタリング・クライアントのhostidおよびvmid文字列にその一意のサーバー名を含める必要があります。
-Joption
このオプションは、Java optionをJVMに渡します。ここで、Javaアプリケーション・ランチャの参照ページで説明されているオプションのいずれかです。 たとえば、-J-Xms48mと指定すると、スタートアップ・メモリーは48Mバイトに設定されます。 javaを参照してください。

セキュリティ

jstatdサーバーでは、適切なネイティブ・アクセス権限があるJVMのみをモニターできます。 したがって、jstatdプロセスは、ターゲットJVMと同じユーザー資格で実行されている必要があります。 LinuxおよびOS Xオペレーティング・システムのrootユーザーなどの一部のユーザー資格証明には、システム上の任意のJVMによってエクスポートされたインストゥルメンテーションにアクセスする権限があります。 このような資格で実行されているjstatdプロセスは、システム上のすべてのJVMをモニターできますが、セキュリティ上の別の問題が起こります。

jstatdサーバーは、リモート・クライアントの認証を提供しません。 そのため、jstatdサーバー・プロセスを実行すると、jstatdプロセスがアクセス権を持つすべてのJVMによるインストゥルメンテーションのエクスポートを、ネットワーク上のすべてのユーザーに公開することになります。 この露出は、環境では望ましくない場合があるため、jstatdプロセスを開始する前に、特に本番環境またはセキュアでないネットワークでローカル・セキュリティ・ポリシーを考慮する必要があります。

セキュリティ上の理由から、jstatdサーバーはRMI ObjectInputFilterを使用して、必須クラスのみを直列化復元できるようにします。

セキュリティ上の懸念に対処できない場合、最も安全なアクションは、jstatdサーバーを実行せず、jstatおよびjpsツールをローカルで使用することです。 ただし、jpsを使用してインストゥルメントされたJVMのリストを取得する場合、このリストにはdockerコンテナで実行されているJVMは含まれません。

リモート・インタフェース

jstatdプロセスがエクスポートするインタフェースは、独自に開発したものであり変更される予定です。 ユーザーおよび開発者は、このインタフェースへの書込みを行わないでください。

jstatdコマンドの例を次に示します。 jstatdスクリプトによって、サーバーはバックグラウンドで自動的に起動します

内部RMIレジストリ

この例は、内部RMIレジストリを使ってjstatdセッションを開始する方法を示しています。 この例では、デフォルトのRMIレジストリ・ポート(ポート1099)に他のサーバーがバインドされていないことを前提としています。

jstatd

外部RMIレジストリ

この例では、外部RMIレジストリを使用してjstatdセッションを開始します。

rmiregistry&
jstatd

この例では、ポート2020の外部RMIレジストリ・サーバーとのjstatdセッションを開始します。

jrmiregistry 2020&
jstatd -p 2020

この例では、ポート2020上の外部RMIレジストリ・サーバーと、ポート2021にバインドされたJMXコネクタとのjstatdセッションを開始します。

jrmiregistry 2020&
jstatd -p 2020 -r 2021

この例では、AlternateJstatdServerNameにバインドされているポート2020の外部RMIレジストリを使用して、jstatdセッションを開始します。

rmiregistry 2020&
jstatd -p 2020 -n AlternateJstatdServerName

インプロセスRMIレジストリの作成の停止

この例では、RMIレジストリが見つからない場合に、RMIレジストリを作成しないjstatdセッションを開始します。 この例では、RMIレジストリがすでに実行していると想定しています。 RMIレジストリが実行されていない場合は、エラー・メッセージが表示されます。

jstatd -nr

RMIロギングの有効化

この例では、RMIロギング機能を有効にしてjstatdセッションを開始しています。 この方法は、トラブルシューティングまたはサーバー活動のモニタリングに役立ちます。

jstatd -J-Djava.rmi.server.logCalls=true