'공유 메모리 부족' 오류 수정
열 기반 엔진에 충분한 공유 메모리 없이 AlloyDB Omni를 실행하면 다음 오류가 표시될 수 있습니다.
Insufficient shared memory for generating the columnar formats.
이 문제를 해결하려면 AlloyDB Omni 컨테이너에서 사용할 수 있는 공유 메모리 양을 지정하세요.
Linux
/dev/shm
디렉터리가 컨테이너에 마운트된 상태로 AlloyDB Omni가 이미 설치되어 있는지 확인합니다. 자세한 내용은 AlloyDB Omni 설치 맞춤설정을 참조하세요./etc/fstab
파일 수정과 같은 기법을 사용하여 호스트 머신의/dev/shm
파티션 크기를 늘립니다.
macOS
새 AlloyDB Omni 컨테이너를 설치하고 --shm-size
플래그에 더 큰 공유 메모리 값을 지정합니다.
열 기반 엔진에 채워진 테이블 찾기
g_columnar_relations
뷰에서 열 기반 엔진에 있는 테이블을 찾는 쿼리를 만듭니다.
SELECT * FROM g_columnar_relations;
열 기반 엔진에서 사용하는 전체 메모리 찾기
google_columnar_engine_memory_available()
SQL 함수를 사용하여 열 기반 엔진이 사용하는 메모리 양을 확인합니다.
SELECT google_columnar_engine_memory_available();
열 기반 엔진에 특정 열이 채워졌는지 확인
다음 해결 방법을 시도해 보세요.
- 열 기반 엔진이 열의 데이터 유형을 지원하는지 확인합니다.
- 최근에 기본 테이블에 열을 추가하거나 삭제한 경우 열 기반 엔진에서 동일한 작업을 수행했는지 확인합니다.
쿼리에서 열 기반 엔진을 사용하는지 확인
쿼리 계획에서 '커스텀 스캔(열 기반 스캔)' 플래너 노드가 있는지 확인합니다.
진행 중인 유지보수 작업 찾기
g_columnar_jobs
뷰에서 쿼리하여 진행 중인 작업을 찾습니다.
SELECT * FROM g_columnar_jobs;
열 기반 엔진에서 유지보수 활동이 사용하는 리소스 양 설정
기본적으로 열 기반 엔진은 데이터베이스 리소스의 최대 20%를 사용합니다. 이 사용량을 늘리거나 줄이려면 google_columnar_engine.maintenance_cpu_percentage
(GUC) 설정을 조정하세요. 자세한 내용은 유지보수 태스크의 CPU 리소스 조정을 참조하세요.