." Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. ." .TH jstatd 1 "06 Apr 2010" ." Generated from HTML by html2man (author: Eric Armstrong) .LP .SH "名前" jstatd \- 仮想マシン jstat デーモン .LP .RS 3 .TP 2 o 形式 .TP 2 o パラメータ .TP 2 o 説明 .TP 2 o オプション .TP 2 o セキュリティー .TP 2 o リモートインタフェース .TP 2 o 例 .TP 2 o 関連項目 .RE .LP .SH "形式" .LP .LP .nf \f3 .fl jstatd [ \fP\f4options\fP\f3 ]\fP .br \f3 .fl \fP .fi .LP .SH "パラメータ" .LP .LP .RS 3 .TP 3 options コマンド行オプション。オプションは任意の順序で指定できます。重複または矛盾するオプションがある場合、最後に指定したオプションが優先されます。 .RE .LP .SH " 説明" .LP .LP .LP \f3jstatd\fP ツールは、計測された HotSpot Java 仮想マシン (JVM) の作成と終了を監視し、ローカルシステム上で実行している Java 仮想マシンに、リモート監視ツールが接続できるようにするためのインタフェースを提供する RMI サーバーアプリケーションです。 .LP .LP \f3jstatd\fP サーバーでは、ローカルホストに RMI レジストリが存在することが必要になります。\f3jstatd\fP サーバーは、デフォルトポートまたは \f2\-p port\fP オプションで指定されたポート上の RMI レジストリに接続しようとします。RMI レジストリが見つからない場合、\f2\-p port\fP オプションで指定されたポート、または \f2\-p port\fP が省略されている場合は、デフォルト RMI レジストリにバインドされた \f3jstatd\fP アプリケーション内に、1 つの RMI レジストリが作成されます。内部 RMI レジストリの作成は、\f2\-nr\fP オプションを指定することによって禁止することができます。 .LP .LP \f3注:\fP このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。現在、Windows 98 および Windows Me プラットフォームでは使用できません。 .LP .SH "オプション" .LP .LP .LP \f3jstatd\fP コマンドは次のオプションをサポートしています。 .LP .RS 3 .TP 3 \-nr 既存の RMI レジストリが見つからない場合、\f2jstatd\fP プロセス内に内部 RMI レジストリを作成しないようにします。 .TP 3 \-p\ port RMI レジストリがあると予想されるポート番号です。 見つからない場合は、\f2\-nr\fP が指定されていなければ作成されます。 .TP 3 \-n\ rminame RMI レジストリにおいて、リモート RMI オブジェクトがバインドされる名前です。デフォルト名は \f2JStatRemoteHost\fP です。複数の \f3jstatd\fP サーバーが同じホスト上で起動している場合、各サーバーのエクスポートした RMI オブジェクトの名前は、このオプションを指定することによって、一意の名前にすることができます。ただし、このオプションを使用する場合、監視クライアントの \f2hostid\fP および \f2vmid\fP 文字列に、その一意のサーバー名を含める必要があります。 .TP 3 \-Joption \f3javac\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。 .RE .LP .SH "セキュリティー" .LP .LP .LP \f3jstatd\fP サーバーは、有効なネイティブアクセス権を持つ JVM だけを監視できます。したがって、\f3jstatd\fP プロセスは、ターゲット JVM と同じユーザー資格で実行している必要があります。一部のユーザー資格は、Unix(TM) ベースのシステムにおける \f2root\fP ユーザーのように、システム上の任意の JVM によってエクスポートされたインストゥルメンテーションへのアクセス権を持っています。このような資格で実行している \f3jstatd\fP プロセスは、システム上のすべての JVM を監視できますが、セキュリティー上の別の問題が起こります。 .LP .LP \f3jstatd\fP サーバーは、リモートクライアントの認証を一切与えません。そのため、\f3jstatd\fP サーバープロセスを実行すると、\f3jstatd\fP プロセスがアクセス権を持つすべての JVM によるインストゥルメンテーションのエクスポートを、ネットワーク上のすべてのユーザーに公開することになります。この無防備な状態は、環境的に望ましくない場合があります。 特に実稼働環境または安全でないネットワークでは、\f3jstatd\fP プロセスを起動する前に、ローカルセキュリティーポリシーを検討する必要があります。 .LP .LP \f3jstatd\fP サーバーは、他のセキュリティーマネージャーがインストールされていない場合には、RMISecurityPolicy のインスタンスをインストールします。 そのため、セキュリティーポリシーファイルを指定する必要があります。ポリシーファイルは、デフォルトポリシー実装の .na \f2ポリシーファイルの構文\fP @ .fi http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.htmlに準拠する必要があります。 .LP .LP 次のポリシーファイルの場合、\f3jstatd\fP サーバーは一切のセキュリティー例外を使用せずに実行できます。このポリシーは、すべてのコードベースへのあらゆるアクセス権を認めるポリシーよりも自由度は低いですが、\f3jstatd\fP サーバーを実行するために最低限必要なアクセス権しか認めないポリシーよりも自由度は高くなっています。 .LP .nf \f3 .fl grant codebase "file:${java.home}/../lib/tools.jar" {\fP .br \f3 .fl permission java.security.AllPermission;\fP .br \f3 .fl };\fP .br \f3 .fl \fP .fi .LP .LP このポリシーを使用するには、このテキストを \f2jstatd.all.policy\fP というファイルにコピーし、次のように \f3jstatd\fP サーバーを実行します。 .LP .nf \f3 .fl jstatd \-J\-Djava.security.policy=jstatd.all.policy\fP .br \f3 .fl \fP .fi .LP .LP より厳しいセキュリティーを実施するサイトの場合、カスタムポリシーファイルを使用して、特定の信頼できるホストまたはネットワークにアクセスを制限することができます。 ただし、このような方法は、IP アドレスの盗聴攻撃を受けやすくなります。セキュリティーの問題について、カスタマイズしたポリシーファイルでも対処できない場合は、\f3jstatd\fP サーバーを実行せずに、\f3jstat\fP と \f3jps\fP ツールをローカルで使用することがもっとも安全な方法になります。 .LP .SH "リモートインタフェース" .LP .LP .LP \f3jstatd\fP プロセスがエクスポートするインタフェースは、独自に開発したものであり変更される予定です。ユーザーおよび開発者は、このインタフェースへの書き込みを行わないでください。 .LP .SH "例" .LP .LP .LP 次に \f3jstatd\fP を起動する例を紹介します。\f3jstatd\fP スクリプトによって、サーバーはバックグラウンドで自動的に起動します。 .LP .SS 内部 RMI レジストリの使用 .LP .LP この例は、内部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。この例では、デフォルトの RMI レジストリポート (ポート 1099) には、他のサーバーはバインドされていないと想定しています。 .LP .nf \f3 .fl jstatd \-J\-Djava.security.policy=all.policy .fl \fP .fi .LP .SS 外部 RMI レジストリの使用 .LP .LP この例は、外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。 .LP .nf \f3 .fl rmiregistry& .fl jstatd \-J\-Djava.security.policy=all.policy .fl \fP .fi .LP .LP この例は、ポート 2020 の外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。 .LP .nf \f3 .fl rmiregistry 2020& .fl jstatd \-J\-Djava.security.policy=all.policy \-p 2020 .fl \fP .fi .LP .LP この例は、AlternateJstatdServerName の名前にバインドされた、ポート 2020 の外部 RMI レジストリを使用した \f3jstatd\fP の起動を表しています。 .LP .nf \f3 .fl rmiregistry 2020& .fl jstatd \-J\-Djava.security.policy=all.policy \-p 2020 \-n AlternateJstatdServerName .fl \fP .fi .LP .SS インプロセス RMI レジストリの作成の禁止 .LP .LP この例は、RMI レジストリが見つからない場合に RMI レジストリを作成しない \f3jstatd\fP の起動を表しています。この例では、RMI レジストリがすでに実行していると想定しています。実行していない場合は、該当するエラーメッセージが表示されます。 .LP .nf \f3 .fl jstatd \-J\-Djava.security.policy=all.policy \-nr .fl \fP .fi .LP .SS RMI ログ機能の有効化 .LP .LP この例は、RMI ログ機能を有効にした \f3jstatd\fP の起動を表しています。この方法は、トラブルシューティングまたはサーバー活動の監視に役立ちます。 .LP .nf \f3 .fl jstatd \-J\-Djava.security.policy=all.policy \-J\-Djava.rmi.server.logCalls=true .fl \fP .fi .LP .SH "関連項目" .LP .RS 3 .TP 2 o 「java(1) \- Java アプリケーション起動ツール」 .TP 2 o 「jps(1) \- Java 仮想マシンプロセスステータスツール」 .TP 2 o 「jstat(1) \- Java 仮想マシン統計データ監視ツール」 .TP 2 o 「 .na \f2rmiregistry\fP @ .fi http://java.sun.com/javase/6/docs/technotes/tools/index.html#rmi \- Java リモートオブジェクトレジストリ」 .RE .LP