Cómo corregir el error "Memoria compartida insuficiente"
Si ejecutas AlloyDB Omni sin suficiente memoria compartida para el motor de columnas, es posible que veas el siguiente error:
Insufficient shared memory for generating the columnar formats.
Para solucionar este problema, especifica la cantidad de memoria compartida que está disponible para el contenedor de AlloyDB Omni.
Linux
Asegúrate de haber instalado AlloyDB Omni con tu directorio
/dev/shm
montado en el contenedor. Para obtener más información, consulta Cómo personalizar tu instalación de AlloyDB Omni.Aumenta el tamaño de la partición
/dev/shm
de tu máquina anfitrión con una técnica como la edición del archivo/etc/fstab
.
macOS
Instala un nuevo contenedor de AlloyDB Omni y especifica un valor de memoria compartida más grande para la marca --shm-size
.
Encuentra las tablas que se completan en el motor de columnas
En la vista g_columnar_relations
, crea consultas para encontrar las tablas que están presentes en el motor columnar.
SELECT * FROM g_columnar_relations;
Cómo encontrar la memoria general que usa el motor de columnas
Usa la función google_columnar_engine_memory_available()
de SQL para determinar la cantidad de memoria que usa el motor de columnas.
SELECT google_columnar_engine_memory_available();
Determina si no se propagan columnas específicas en el motor de columnas
Prueba las siguientes soluciones posibles:
- Verifica si el motor columnar admite el tipo de datos de la columna.
- Si agregaste o descartaste columnas recientemente en la tabla base, verifica que hayas realizado la misma operación en el motor de columnas.
Verifica si una búsqueda usa el motor de columnas
En el plan de consulta, verifica si hay un nodo del planificador "Custom Scan (columnar scan)".
Cómo encontrar los trabajos de mantenimiento en curso
Consulta la vista g_columnar_jobs
para encontrar los trabajos en curso.
SELECT * FROM g_columnar_jobs;
Establece la cantidad de recursos que usan las actividades de mantenimiento en el motor columnar
De forma predeterminada, el motor columnar usa hasta el 20% de los recursos de la base de datos. Para aumentar o disminuir este uso, ajusta el parámetro de configuración google_columnar_engine.maintenance_cpu_percentage
(GUC). Para obtener más información, consulta Cómo ajustar los recursos de CPU para las tareas de mantenimiento.