1.28. PostgreSQL 共享内存错误故障排除
如果您有一个大型环境,您可能会遇到 PostgreSQL 共享内存错误,这会影响到应用程序的搜索结果和拓扑视图。
1.28.1. 症状:PostgreSQL 共享内存错误 复制链接链接已复制到粘贴板!
错误消息重装以下内容会出现在 search-api 日志中:ERROR: could not resize shared memory segment "/PostgreSQL.1083654800" to 25031264 bytes: No space left on device (SQLSTATE 53100)
1.28.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
有关添加环境变量的更多信息,请参阅 搜索自定义和配置。