- 分析する AlloyDB Omni Operator Deployment を決めます。AlloyDB Omni Operator には 2 つの Deployment があり、どちらのメモリヒープでも分析できます。2 つの Deployment を特定するには、次のコマンドを実行します。 - kubectl get deployment -n alloydb-omni-system- 出力には、 - alloydb-omni-systemNamespace 内の 2 つの Deployment が表示されます。- fleet-controller-manager
- local-controller-manager
 - どちらの Deployment でもメモリヒープを取得できます。デモとして、ここでは - local-controller-managerDeployment のメモリヒープを取得する手順を示します。
- 使用可能なポートを指定して、メモリ分析を有効にします。ポートを指定すると、Pod が再起動します。使用可能なポートを指定するには、Deployment で - pprof-address引数を使用します。- 次のコマンドを実行して、Deployment をテキスト エディタで開きます。 - kubectl edit -n alloydb-omni-system deploy local-controller-manager
- テンプレート - specの- containerセクションの- argsにポートを指定します。- apiVersion: apps/v1 kind: Deployment spec: ... template: ... spec: containers: - args - --pprof-address=:PORT
- Deployment ファイルを保存します。Deployment ファイルを保存すると、Pod が再起動します。 
 
- Pod の再起動が完了したら、次のステップに進みます。 - Pod が再起動したことを確認するには、次のコマンドを実行します。 - kubectl get pod -n alloydb-omni-system- Pod の - STATUS列の出力値が- Runningであり、- AGE列の出力値が短い時間であることを確認します。たとえば、- STATUS列が- Runningで、- AGE列の値が- 50sの場合、Pod は再起動後 50 秒間実行されています。
- 次のコマンドを使用してポート転送を有効にします。 - kubectl port-forward -n alloydb-omni-system DEPLOYMENT_POD_NAME PORT:PORT- DEPLOYMENT_POD_NAME は、次のコマンドの出力の - NAME列に表示される Deployment の名前に置き換えます。- kubectl get pod -n alloydb-omni-system
- 別のターミナルで次のコマンドを実行して、Deployment のメモリヒープのスナップショットを含むファイルを作成します。 - curl http://localhost:PORT/debug/pprof/heap > heap.out
- heap.outファイルを保存し、分析対象として選択した AlloyDB Omni Operator Deployment のメモリヒープを表示します。
- 使用したポートを含む - pprof-address引数を Deployment から削除して、メモリ分析を無効にします。- Deployment をテキスト エディタで開きます。 - kubectl edit -n alloydb-omni-system deploy local-controller-manager
- 前に追加したテンプレート - specの- containerセクションの- argsからポート- --pprof-address=:PORTの行を削除します。
 
      AlloyDB Omni Kubernetes Operator のメモリヒープ使用量を分析する
  
  
  特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-21 UTC。