メモリバラストエクステンション (非推奨)
メモリバラストエクステンションを使用して、アプリケーションでメモリバラストを設定できるようにします。
memory_ballast エクステンションは廃止されており、Collector バージョン 0.97.0 以降で削除されました。このエクステンションを使用している場合は、設定を更新する方法を参照してください。memory_ballast は今後有効ではありません。SPLUNK_MEMORY_TOTAL_MIB 環境変数を使用して、ソフトメモリ制限でガベージコレクションを制御できるようになりました。この制限はデフォルトで総メモリの 90% に設定されています。詳細は「環境変数」を参照してください。
以下の手順に従って、Collector インスタンスが正しく動作することを確認してください:
-
memory_ballastをカスタマイズしていない場合は、設定から削除してください。 -
SPLUNK_BALLAST_SIZE_MIB(またはextensions::memory_ballast::size_mib config)を使用してmemory_ballastをカスタマイズしている場合は、memory_ballastエクステンションを削除し、GOMEMLIMIT環境変数を使用してカスタムソフトメモリ制限を設定します:-
ガベージコレクションの頻度を上げるには、
GOMEMLIMITを、デフォルトである総メモリの90%より高い値に設定します。 -
ガベージコレクションの頻度を減らすには、
GOMEMLIMITを、デフォルトである総メモリの90%より低い値に設定します。 -
詳細は「Go environment variables」を参照してください。
-
はじめに
メモリバラストエクステンションにより、アプリケーションは処理のためにメモリバラストを設定することができます。
以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:
-
Splunk Distribution of OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:
-
次のセクションで説明するように、エクステンションを設定します。
-
Collector を再起動します。
サンプル構成
コンポーネントをアクティブにするには、設定ファイルのextensions セクションに memory_ballast を追加します:
extensions:
memory_ballast:
設定を完了するには、設定ファイルの service セクションに拡張子を含めます:
service:
extensions: [memory_ballast]
エクステンションには以下の設定が可能です:
-
size_mibします。メモリバラストのサイズ(MiB)。-
デフォルトでは
0です。 -
両方を同時に指定した場合は、
size_in_percentageより優先されます。
-
-
size_in_percentageします。総メモリ量に対するメモリバラストをパーセントで設定します。-
デフォルトでは
0です。 -
値の範囲は1から100までになります。
-
コンテナ環境(Docker、Kubernetes)と物理ホスト環境の両方でサポート。
-
設定例
この構成では、バラストに64Mibのメモリを使用します:
extensions:
memory_ballast:
size_mib: 64
この構成では、バラストに総メモリの20%を使用します:
extensions:
memory_ballast:
size_in_percentage: 20
バラストのサイズをパーセンテージで計算する
size_in_percentage が有効な場合、ballast_size の値は以下のように計算されます。
ターゲットホストまたはコンテナで memory.limit_in_bytes の値を確認して、実行中の Collector プロセスにメモリ制限があるかどうかを確認します。メモリ ファイルは、/sys/fs/cgroup/memory/memory.limit_in_bytes などのパスに格納されます。
-
memory.limit_in_bytesが9223372036854771712(0x7FFFFFFFFFFFF000) 以外の正の値の場合、ballast_sizeの値は以下の式で計算されます。ballast_size=size_in_percentage*memory.limit_in_bytes/ 100 -
memory.limit_in_bytesが9223372036854771712(0x7FFFFFFFFFFFF000) の場合、cgroup 内の Collector プロセスまたは実行中のコンテナにはメモリ制限が設定されておらず、ballast_sizeの値は次の式で計算されます。ballast_size=size_in_percentage*totalMemory/ 100ここで
totalMemoryは、mem.VirtualMemory().totalの github.com/shirou/gopsutil/v3/mem で計算されます。
設定
以下の表は、メモリバラスト拡張の設定オプションを示しています:
同梱
https://raw.githubusercontent.com/splunk/collector-config-tools/main/cfg-metadata/extension/memory_ballast.yaml
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______