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
환경 변수 추가에 대한 자세한 내용은 사용자 정의 및 구성 검색을 참조하십시오.