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
  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"}}}]'
  3. 다음 명령을 실행하여 검색 Operator가 변경 사항을 덮어쓰지 않도록 합니다.

    oc annotate search search-v2-operator search-pause=true
  4. 다음 명령을 실행하여 search-postgres YAML 파일에서 리소스를 업데이트합니다.

    oc edit cm search-postgres -n open-cluster-management

    리소스를 늘리려면 다음 예제를 참조하십시오.

      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

    종료하기 전에 변경 사항을 저장해야 합니다.

  5. 다음 명령을 실행하여 postgresapi pod를 다시 시작합니다.

    oc delete pod search-postgres-xyz search-api-xzy
  6. 변경 사항을 확인하려면 search-postgres YAML 파일을 열고 다음 명령을 실행하여 postgresql.conf: 에 대한 변경 사항이 있는지 확인합니다.

    oc get cm search-postgres -n open-cluster-management -o yaml

환경 변수 추가에 대한 자세한 내용은 사용자 정의 및 구성 검색을 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.