ArcGIS GeoEvent Server 構成ファイル (ArcGISGeoEvent.cfg) は、GeoEvent Server のスタートアップ時の構成を格納します。このファイルのほとんどの部分のエントリは、変更するべきではありません。場合によっては、下で説明されているように、構成ファイルの変更が必要になることがあります。
構成の行の番号付け
ArcGISGeoEvent.cfg ファイル内の各 wrapper.java.additional プロパティの行には、最初のプロパティに 1 から始まり、増加する数字が関連付けられていることに注意してください。
wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"
wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"
これらのインデックス番号は重要であり、正確な順序付けを維持する必要があります。個々の行を追加したりコメント アウトしたりする場合、インデックスが正確であることを確認してください。
JMX による GeoEvent Server の監視
JMX は、Java アプリケーションを管理および監視するための管理インターフェイスを実装する Java Management Extension です。GeoEvent Server の状態を監視する必要がある場合に役立ちます。次のコードの行を構成ファイルに追加して、JMX を有効化することができます。
#Uncomment to enable jmx settings
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1009
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.local.only=false
# Uncomment to enable jmx settings wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1009 wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.local.only=false
上の行内の n を特定のパラメーターのインデックス番号に置き換える必要があります。例:
# Minimum and Maximum Java Heap Sizes
wrapper.java.additional.13=-Xms1g
wrapper.java.additional.14=-Xmx4g
# Uncomment to enable jmx settings wrapper.java.additional.15=-Dcom.sun.management.jmxremote.port=1009 wrapper.java.additional.16=-Dcom.sun.management.jmxremote.authenticate=false wrapper.java.additional.17=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.18=-Dcom.sun.management.jmxremote.local.only=false
JMX 認証の構成
上の例は、認証を使用しないで JMX インターフェイスへのアクセスを提供します。正しい JMX ポートを推測する人は誰でも、JMX データにアクセスできます。そのため、Java Management Extension のドキュメントの「Using Password and Access File」のセクションに記載されているように、適切な認証方式を実装することをお勧めします。
起動時の入力の制御
GeoEvent Server の起動時にすべての入力を停止するように、GeoEvent Server を構成することができます。次のプロパティを構成ファイルに追加し、その値を true に設定すると、GeoEvent Server の起動時に、すべての入力が必ず停止状態になります。
wrapper.java.additional.n=-DSTOP_INPUTS_ON_STARTUP=true
この場合も、前述したように、必ず正しいインデックスを使用していることを確認してください。
メモ:
このプロパティは、GeoEvent Server が頻繁に起動および停止することがあり、ジオイベント サービス内の各要素がイベント データを受信して処理する準備ができていることを保証する必要がある開発環境において、役立ちます。運用システムでは、この設定によって、データが受信される前に誰かが入力を開始することが必要になります。システムの再起動における自動化および高可用性のレベルを考えると、人間による意図的な操作が必要になる可能性は低いと思われます。
Java のメモリ (ヒープ) サイズ
Linux および Windows のオペレーティング システムでは、両方とも、ArcGIS GeoEvent Server が JVM (Java 仮想マシン) インスタンス内で実行されます。すぐに使用できるデフォルトの構成は、サーバーの使用可能な RAM のうちの 4 GB のみが JVM に割り当てられます。次を含む (ただしこれらに限定されない) RAM を必要とするすべての GeoEvent Server の動作は、この割り当てを利用します。
- ジオフェンスの格納
- フィールド エンリッチャー プロセッサなどのイベント キャッシュ
- インシデント検出
- トラック ギャップ検出、開始、終了などの、ステートフル キャッシュを必要とする解析
- 大量のデータを高速で処理するときの全体的な実行
GeoEvent Server のパフォーマンスを監視しているときに、最大メモリ量 (デフォルトは RAM の 4 GB) を常に消費していることに気付くことがあります。または、読み込むことができるジオフェンスの数が、必要な数よりも少ない数に制限されることに気付くことがあります。これに当てはまる場合は、GeoEvent Server に割り当てられる RAM の量を増やすことができます。
システム内の RAM を割り当てる場合、コンピューター上で実行される可能性のあるすべてのアプリケーションを考慮してください。理想としては、GeoEvent Server がインストールされた唯一のアプリケーションである運用環境では、コンピューターの総メモリの大部分が GeoEvent Server に割り当てられることを期待するのが妥当です。GeoEvent Server がインストールされた複数のアプリケーションのうちの 1 つであることがある開発環境では、さまざまなアプリケーション間でメモリを慎重に割り当てる必要があります。専用コンピューター上でも、すべてのメモリを GeoEvent Server に割り当てることはできません。これには、次の 2 つの理由があります。1 つ目は、オペレーティング システムの実行です。オペレーティング システムのさまざまなコンポーネントは、さまざまな役割を実行するためにメモリを必要とします。ベスト プラクティスとして、メモリ リソースの約 25% をオペレーティング システムに提供します。2 つ目は、32 GB の最大 JVM メモリ設定です。Windows が JVM を 32 GB 以下のメモリに制限しているため、32 GB を超える値に設定する必要はありません。
JVM が消費できる最大メモリ量の設定に加えて、起動時の最小メモリ割り当てを設定することもできます。Java は、起動時に、最初にこの最小メモリ量を割り当てます。Java は、さらに多くのメモリを消費するにつれて、最大割り当てに達するまで割り当てを増やします。メモリを増やすプロセスは計算負荷が高く、このメモリ割り当ての実行中に、GeoEvent Server の一時停止を引き起こします。このため、できるだけ最終的なメモリ消費量に近いか、それよりも多いメモリ量に、起動時の最小メモリ量を設定するようにしてください。
コンピューターが使用可能な RAM を十分に備えていると判断し、GeoEvent Server の配置が、さらに多くの RAM を GeoEvent Server を実行する JVM インスタンスに割り当てることを必要とするということを決定したシステム管理者は、次の手順に従って RAM をホスティング JVM にさらに割り当てることによって、GeoEvent Server で使用可能なメモリを増やすことができます。
- ArcGIS GeoEvent Server サービスを停止します。
Windows で、ArcGIS GeoEvent Server サービスおよびそれに関連する java.exe プロセスが停止していることを確認します。
- ArcGIS GeoEvent.cfg ファイルに移動し、管理者として、テキスト エディターでこのファイルを開きます。
Windows では、このファイルは、GeoEvent Server のインストール ディレクトリの etc フォルダー内にあります。デフォルトのディレクトリの場所は C:\Program Files\ArcGIS\Server\GeoEvent\etc です。
- [Minimum and Maximum Java Heap Sizes] ブロックを見つけます。
メモ:
使用している GeoEvent Server のバージョンに応じて、JVM パラメーターのインデックスは、下の図と異なっていることがあります。下で示されているデフォルトの割り当て例は、ギガバイト (GB) 単位です。
- -Xmx プロパティを、JVM のメモリを制限する最大サイズに設定します。例:
- デフォルトは 4 GB です: wrapper.java.additional.[index]=-Xmx4g
- 16 GB への設定: wrapper.java.additional.[index]=-Xmx16g
- 32 GB への設定: wrapper.java.additional.[index]=-Xmx32g
- -Xms プロパティを、JVM のメモリの起動時の最小サイズに設定します。例:
- デフォルトは 1GB です: wrapper.java.additional.[index]=-Xms1g
- 4 GB への設定: wrapper.java.additional.[index]=-Xms4g
- 16 GB への設定: wrapper.java.additional.[index]=-Xms16g
- -Xmx プロパティを、JVM のメモリを制限する最大サイズに設定します。例:
- ArcGIS GeoEvent.cfg ファイルを保存して、テキスト エディターを閉じます。
- ArcGIS GeoEvent Server Windows サービスを開始します。
システム管理ツールを使用して、GeoEvent Server の JVM インスタンス (java.exe プロセス) が、ArcGISGeoEvent.cfg 構成ファイルで割り当てられたメモリよりも多く消費していないこと、およびデフォルトの 4 GB より多くのメモリが GeoEvent Server の動作に使用されるようになったことを確認します。