Pixieが使用するメモリの量を設定できます。インストール中に、Helmを使用してメモリ要求と制限を設定するか、Pixieが短期間のデータストレージに使用するメモリの量を減らします。
ピクシーはどのようにメモリを使用しますか?
オープン ソースの Pixie プロジェクトの主な焦点は、リアルタイム デバッグ プラットフォームを構築することです。Pixieは長期的な耐久性のあるストレージ ソリューションを意図したものではなく、New Relic と組み合わせて使用するのが最適です。New Relic 統合は、数分ごとに Pixie にクエリを実行し、New Relic で Pixie のテレメトリ データのサブセットを保持します。
New Relic Pixie 統合をインストールすると、 vizier-pem
エージェントが DaemonSet を介してクラスター内の各ノードにデプロイされます。vizier-pem
エージェントは、次の 2 つの主な目的でメモリを使用します。
- テレメトリーデータの収集: アプリケーションのトラフィックや CPU プロファイルなどをトレースします。 これらの値は、処理されるときにどこかのメモリに保存される必要があります。
- テレメトリーデータの短期保存:[Pixie によるライブ デバッグ] タブを介したトラブルシューティングの強化、およびNew Relicに保存される前のテレメトリー データのサブセットの一時的な保存場所として。
デフォルトでは、 vizier-pem
ポッドには2Gi
メモリ制限と2Gi
メモリリクエストがあります。割り当てられたメモリの60%を短期間のデータストレージ用に確保し、残りの40%をデータ収集用に残します。
インストール後にPixieのメモリ使用量が増えるのはなぜですか?
Pixieをインストールした後、テレメトリデータの保存を開始すると、 vizier-pem
ポッドのメモリ使用量が増加します。 vizier-pem
のメモリ制限に達すると、新しいデータ用のスペースを確保するために古いテレメトリデータが期限切れになるため、メモリ使用率がそれ以上増加することはありません。
Pixieのメモリ使用量の構成
ほとんどのクラスターでは、デフォルトの2Gi
メモリ構成を使用することをお勧めします。ただし、特定のトラフィックの少ないクラスターの場合、Pixieは1Gi
の最小メモリ制限をサポートできます。アプリケーションポッドに対応するために、ノードの合計メモリの25%以下をPixieに割り当てることをお勧めします。たとえば、ノードの合計メモリが4Gi
の場合、 1Gi
メモリ制限を使用するようにPixieを構成する必要があります。
特定のメモリ制限でPixieをデプロイする
Pixieのvizier-pem
エージェントのデフォルトの2Gi
とは異なるメモリ制限を指定する場合は、インストール中に次の構成パラメーターをHelmチャートに追加できます。たとえば、 1Gi
のメモリ制限の場合、次を使用します。
$--set pixie-chart.pemMemoryLimit=1Gi
特定のメモリ要求でPixieをデプロイする
デフォルトでは、 vizier-pem
のメモリ要求は制限と同じです。別のメモリ要求を指定する場合は、インストール中に次の構成パラメータをHelmチャートに追加できます。たとえば、 1Gi
メモリリクエストの場合、次を使用します。
$--set pixie-chart.pemMemoryRequest=1Gi
重要
vizier-pem
メモリ要求はvizier-pem
メモリ制限以下である必要があります。
特定の短期データストレージを使用してPixieをデプロイする
デフォルトでは、 vizier-pem
ポッドは割り当てられたメモリの60%を短期間のデータストレージ用に確保し、残りの40%をコレクション用に残します。デフォルトの2Gi
メモリ制限の場合、これはvizier-pem
ポッドがデータストレージ用に1.2Gi
メモリを保持することを意味します。
短期間のストレージ用に別のメモリ量を指定する場合は、インストール中に次の構成パラメーターをHelmチャートに追加できます。たとえば、使用する短期データストレージの750MiB
の場合:
$--set pixie-chart.dataCollectorParams.customPEMFlags.PL_TABLE_STORE_DATA_LIMIT_MB=750
トラブルシューティング
トラブルシューティングについては、次のドキュメントを参照してください。