Java メモリ設定の変更

トラフィックと処理の要件によっては、ヒープメモリの変更が必要になる場合があります Java ベースのプライベート クラウドを実行しているノードのサイズまたはクラス メタデータのサイズ 説明します。

このセクションでは、デフォルトおよび推奨の Java ヒープメモリ サイズ、および デフォルトの変更プロセスと同じくらい重要です最後に、このモジュールで紹介するその他の プロパティ ファイルを使用した JVM 設定。

デフォルトおよび推奨のヒープメモリ サイズ

次の表に、Java ベースでデフォルトの Java ヒープメモリ サイズと推奨 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 は、次の場合に最大ヒープサイズを動的に計算します。 起動します。現在、これはシステムメモリの合計の 2 分の 1 で、最大で 8,192 MB。ヒープサイズの設定の詳細については、ヒープの変更 メモリサイズ

2 Message Processor ではヒープを設定することをおすすめします。 3 GB ~ 6 GB の範囲に設定します。必ず次の作業を実施した後で、ヒープサイズを 6 GB 以下にする パフォーマンステストを行います

パフォーマンス テスト中にヒープ使用量が上限に近づいたら、次の量を増やします。 できます。ヒープサイズの設定の詳細については、このモジュールの ヒープメモリ サイズの変更

3 すべての Private Cloud コンポーネントが Java で実装されているわけではありません。なぜなら、 Java ベースではないため、ホスト プラットフォームでネイティブに実行されるアプリには、 Java ヒープサイズを構成可能ホストシステムでのメモリの使用を前提とし、 あります。

Java ベースのアプリケーションに割り当てるメモリの合計量を決定するには、 ノード上の各コンポーネントに上記の値を追加します。たとえば Postgres サーバーと Qpid サーバーの両方をホストする場合、Apigee では、 2.5GB から 4.5GB の間に設定します。

必要なハードウェア(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 の -Xms オプションに対応しています。

bin_setenv_max_mem

最大ヒープサイズ。デフォルトは、記載されている値に基づいています。 デフォルトおよび推奨のヒープメモリ サイズ

この設定は、Java の -Xmx オプションに対応しています。

bin_setenv_meta_space_size

デフォルトのクラス メタデータ サイズ。デフォルト値は bin_setenv_max_permsize。デフォルトは 128 MB です。Message Processor では 使用している環境に応じて、この値を 256 MB または 512 MB に設定することをおすすめします。 トラフィックです。

この設定は、Java の -XX:MetaspaceSize オプションに対応しています。

ノードでヒープサイズ プロパティを設定する場合は、"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'

    ただし、bin_setenv_ext_jvm_opts を以下の目的で使用しないでください。 -Xms-Xmx、または -XX:MetaspaceSize を設定します。これらの値は次のとおりです。 プロパティによって制御されます。

プライベート クラウド コンポーネントのメモリ構成に関するその他のヒントについては、以下をご覧ください。 この 記事をご覧ください。