メモリバラストエクステンション (非推奨)

メモリバラストエクステンションを使用して、アプリケーションでメモリバラストを設定できるようにします。

注意: 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」を参照してください。

はじめに

メモリバラストエクステンションにより、アプリケーションは処理のためにメモリバラストを設定することができます。

以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:

  1. Splunk Distribution of OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:

  2. 次のセクションで説明するように、エクステンションを設定します。

  3. 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_bytes9223372036854771712 ( 0x7FFFFFFFFFFFF000 ) 以外の正の値の場合、ballast_size の値は以下の式で計算されます。

    ballast_size = size_in_percentage * memory.limit_in_bytes / 100

  • memory.limit_in_bytes9223372036854771712 ( 0x7FFFFFFFFFFFF000 ) の場合、cgroup 内の Collector プロセスまたは実行中のコンテナにはメモリ制限が設定されておらず、ballast_size の値は次の式で計算されます。

    ballast_size = size_in_percentage * totalMemory / 100

    ここで totalMemory は、mem.VirtualMemory().totalgithub.com/shirou/gopsutil/v3/mem で計算されます。

設定

以下の表は、メモリバラスト拡張の設定オプションを示しています:

同梱

https://raw.githubusercontent.com/splunk/collector-config-tools/main/cfg-metadata/extension/memory_ballast.yaml

トラブルシューティング

__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____

_________ __ ______ _____________ _____ _________

_________ __ ___________ _________ ___ ____ _____ _____

  • ___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________

  • ____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______