トラフィック要件や処理要件に応じて、Java ベースの Private Cloud コンポーネントを実行しているノードのヒープメモリ サイズまたはクラス メタデータ サイズを変更しなければならない場合があります。
このセクションでは、デフォルトおよび推奨の Java ヒープメモリ サイズ、およびデフォルトを変更するプロセスについて説明します。最後に、このセクションでは、プロパティ ファイルを使用して他の JVM 設定を変更する方法について説明します。
デフォルトおよび推奨のヒープメモリ サイズ
次の表に、Java ベースの Private Cloud コンポーネントに割り当てられる Java ヒープメモリ サイズのデフォルト値と推奨値を示します。
コンポーネント | プロパティのファイル名 | デフォルト ヒープサイズ |
推奨 ヒープサイズ |
---|---|---|---|
ランタイム | |||
Cassandra | なし | 自動的に構成される1 | 自動設定1 |
Message Processor | message-processor.properties |
512 MB | 3 GB ~ 6 GB2 |
ルーター | router.properties |
512 MB | 512 MB |
アナリティクス | |||
Postgres サーバー | postgres-server.properties |
512 MB | 512 MB |
Qpid サーバー | qpid-server.properties |
512 MB | 2 GB ~ 4 GB |
管理 | |||
管理サーバー | management-server.properties |
512 MB | 512 MB |
UI | ui.properties |
512 MB | 512 MB |
OpenLDAP | なし | ネイティブ アプリ3 | ネイティブ アプリ3 |
Zookeeper | zookeeper.properties |
2,048 MB | 2,048 MB |
メモ | |||
1 Cassandra は起動時に最大ヒープサイズを動的に計算します。現在、これは合計システムメモリの半分であり、最大値は 8,192 MB です。ヒープサイズの設定方法については、ヒープメモリ サイズを変更するをご覧ください。 |
|||
2 Message Processor では、ヒープサイズを 3 GB から 6 GB の間で設定することをおすすめします。6 GB を超えるヒープサイズに増やす場合は、必ずその前にパフォーマンス テストを実施してください。 パフォーマンス テスト中にヒープ使用量が上限に近づいたら、上限を増やします。ヒープサイズの設定方法については、ヒープメモリ サイズを変更するをご覧ください。 |
|||
3 すべての Private Cloud コンポーネントが Java で実装されているわけではありません。これらのアプリは Java ベースではなく、ホスト プラットフォームでネイティブに実行されているため、Java ヒープサイズは構成できません。その代わりに、ホストシステムでメモリが管理されます。 |
ノード上の Java ベース コンポーネントに割り当てる合計メモリ量を決定するには、そのノードに存在する各コンポーネントの上記の値を加算します。たとえば、Postgres サーバーと Qpid サーバーの両方をホストしているノードでは、合計 2.5 GB ~ 4.5 GB のメモリを割り当てることをおすすめします。
必要なハードウェア(RAM など)のリストについては、インストール要件をご覧ください。
ヒープメモリ サイズを変更する
ヒープメモリの設定を変更するには、コンポーネントのプロパティ ファイルを編集します。たとえば、Message Processor の場合は /opt/apigee/customer/application/message-processor.properties
ファイルを編集します。
message-processor.properties
ファイルが存在しない場合、または対象の Edge コンポーネントに対応する .properties
ファイルが存在しない場合は、次の例に示すように、ファイルを作成して所有者を「apigee」ユーザーに変更します。
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
コンポーネント(たとえば、Message Processor)が複数のマシンにインストールされている場合、そのコンポーネントをホストするすべてのマシンでプロパティ ファイルを編集してください。
次の表に、ヒープサイズを変更するために編集するプロパティを示します。
プロパティ | 説明 |
---|---|
bin_setenv_min_mem |
最小ヒープサイズ。デフォルトは、デフォルトと推奨のヒープメモリ サイズに示されている値に基づいています。 この設定は、Java の |
bin_setenv_max_mem |
最大ヒープサイズ。デフォルト値は、デフォルトと推奨のヒープメモリ サイズに示されている値に基づきます。 この設定は Java の |
bin_setenv_meta_space_size |
デフォルトのクラス メタデータ サイズ。デフォルト値は この設定は、Java の |
ヒープサイズ プロパティをノードに設定するときは、次の例のように、メガバイトを示す「m」の接尾辞を付けます。
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
プロパティ ファイルに値を設定した後、コンポーネントを再起動します。
/opt/apigee/apigee-service/bin/apigee-service component restart
例:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
他の JVM プロパティを変更する
上記のプロパティで制御されない Java 設定については、Edge コンポーネント用の追加の JVM フラグまたは値を渡すこともできます。*.properties
ファイルは Bash によって読み取られます。リテラル文字を保持するには '
(単一引用符)で囲み、シェル拡張が必要な場合は "
(二重引用符)で囲む必要があります。
bin_setenv_ext_jvm_opts
: 他のプロパティによって指定されない任意の Java プロパティを設定します。例:bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'
ただし、
-Xms
、-Xmx
、-XX:MetaspaceSize
については、上記のプロパティによって値が制御されるため、bin_setenv_ext_jvm_opts
を使ってこれらの値を設定しないでください。
Private Cloud コンポーネントのメモリ構成に関する追加のヒントについては、Edge フォーラムのこの記事をご覧ください。