1.26. PostgreSQL 共有メモリーエラーのトラブルシューティング
大規模な環境の場合、検索結果とアプリケーションのトポロジービューに影響を与える PostgreSQL 共有メモリーエラーが発生する可能性があります。
1.26.1. 現象: PostgreSQL 共有メモリーエラー リンクのコピーリンクがクリップボードにコピーされました!
search-api ログに ERROR: could not resize shared memory segment "/PostgreSQL.1083654800" to 25031264 bytes: No space left on device (SQLSTATE 53100) のようなエラーメッセージが表示されます。
1.26.2. 問題の解決: PostgreSQL 共有メモリーエラー リンクのコピーリンクがクリップボードにコピーされました!
この問題を解決するには、search-postgres ConfigMap にある PostgreSQL リソースを更新します。リソースを更新するには、次の手順を実行します。
次のコマンドを実行して、
open-cluster-managementプロジェクトに切り替えます。oc project open-cluster-management
oc project open-cluster-managementCopy to Clipboard Copied! Toggle word wrap Toggle overflow search-postgresPod のメモリーを増やします。次のコマンドは、メモリーを16Giに増やします。oc patch search -n open-cluster-management search-v2-operator --type json -p '[{"op": "add", "path": "/spec/deployments/database/resources", "value": {"limits": {"memory": "16Gi"}, "requests": {"memory": "32Mi", "cpu": "25m"}}}]'oc patch search -n open-cluster-management search-v2-operator --type json -p '[{"op": "add", "path": "/spec/deployments/database/resources", "value": {"limits": {"memory": "16Gi"}, "requests": {"memory": "32Mi", "cpu": "25m"}}}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、検索 Operator が変更を上書きしないようにします。
oc annotate search search-v2-operator search-pause=true
oc annotate search search-v2-operator search-pause=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
search-postgresYAML ファイル内のリソースを更新します。oc edit cm search-postgres -n open-cluster-management
oc edit cm search-postgres -n open-cluster-managementCopy to Clipboard Copied! Toggle word wrap Toggle overflow リソースを増やすには、次の例を参照してください。
postgresql.conf: |- work_mem = '128MB' # Higher values allocate more memory max_parallel_workers_per_gather = '0' # Disables parallel queries shared_buffers = '1GB' # Higher values allocate more memorypostgresql.conf: |- work_mem = '128MB' # Higher values allocate more memory max_parallel_workers_per_gather = '0' # Disables parallel queries shared_buffers = '1GB' # Higher values allocate more memoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 終了する前に、必ず変更を保存してください。
次のコマンドを実行して、
postgresとapiPod を再起動します。oc delete pod search-postgres-xyz search-api-xzy
oc delete pod search-postgres-xyz search-api-xzyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を確認するには、
search-postgresYAML ファイルを開き、次のコマンドを実行してpostgresql.conf:に加えた変更が存在することを確認します。oc get cm search-postgres -n open-cluster-management -o yaml
oc get cm search-postgres -n open-cluster-management -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
環境変数の追加について、詳しくは 検索のカスタマイズと設定 を参照してください。