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 资源。完成以下步骤以更新资源:

  1. 运行以下命令来切换到 open-cluster-management 项目:

    oc project open-cluster-management
    Copy to Clipboard Toggle word wrap
  2. 增加 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"}}}]'
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令以防止搜索 Operator 覆盖您的更改:

    oc annotate search search-v2-operator search-pause=true
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令以更新 search-postgres YAML 文件中的资源:

    oc edit cm search-postgres -n open-cluster-management
    Copy to Clipboard Toggle word wrap

    有关增加资源的信息,请参见以下示例:

      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 Toggle word wrap

    在退出前,请确保保存您的更改。

  5. 运行以下命令以重启 postgresapi pod。

    oc delete pod search-postgres-xyz search-api-xzy
    Copy to Clipboard Toggle word wrap
  6. 要验证您的更改,请打开 search-postgres YAML 文件,并确认您对 postgresql.conf: 所做的更改是否存在:

    oc get cm search-postgres -n open-cluster-management -o yaml
    Copy to Clipboard Toggle word wrap

有关添加环境变量的更多信息,请参阅搜索自定义和配置

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat