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-management
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 增加
search-postgres
pod 内存。以下命令将内存增加到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=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令以更新
search-postgres
YAML 文件中的资源:oc edit cm search-postgres -n open-cluster-management
oc edit cm search-postgres -n open-cluster-management
Copy 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 memory
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 memory
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在退出前,请确保保存您的更改。
运行以下命令以重启
postgres
和api
pod。oc delete pod search-postgres-xyz search-api-xzy
oc delete pod search-postgres-xyz search-api-xzy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证您的更改,请打开
search-postgres
YAML 文件,并确认您对postgresql.conf:
所做的更改是否存在:oc get cm search-postgres -n open-cluster-management -o yaml
oc get cm search-postgres -n open-cluster-management -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关添加环境变量的更多信息,请参阅搜索自定义和配置。