Solucionar el error "Memoria compartida insuficiente"
Si ejecutas AlloyDB Omni sin suficiente memoria compartida para el motor en columnas, es posible que veas el siguiente error:
Insufficient shared memory for generating the columnar formats.
Para solucionar este problema, especifique la cantidad de memoria compartida que está disponible para el contenedor de AlloyDB Omni.
Linux
Asegúrate de que ya has instalado AlloyDB Omni con tu directorio
/dev/shm
montado en el contenedor. Para obtener más información, consulta Personalizar la instalación de AlloyDB Omni.Aumenta el tamaño de la partición
/dev/shm
de tu máquina host mediante una técnica como la edición del archivo/etc/fstab
.
macOS
Instala un nuevo contenedor AlloyDB Omni y especifica un valor de memoria compartida mayor para la marca --shm-size
.
Buscar las tablas que se rellenan en el motor columnar
En la vista g_columnar_relations
, cree consultas para buscar las tablas que
están presentes en el motor columnar.
SELECT * FROM g_columnar_relations;
Consultar la memoria total que usa el motor de columnas
Usa la función SQL google_columnar_engine_memory_available()
para determinar la cantidad de memoria que usa el motor de columnas.
SELECT google_columnar_engine_memory_available();
Determinar si no se rellenan columnas específicas en el motor en columnas
Prueba las siguientes posibles soluciones:
- Comprueba si el motor columnar admite el tipo de datos de la columna.
- Si has añadido o eliminado columnas de la tabla base recientemente, comprueba que hayas realizado la misma operación en el motor columnar.
Verificar si una consulta usa el motor de columnas
En el plan de consulta, comprueba si hay un nodo de planificador "Custom Scan (columnar scan)".
Buscar los trabajos de mantenimiento en curso
Consulta la vista g_columnar_jobs
para encontrar las tareas en curso.
SELECT * FROM g_columnar_jobs;
Definir la cantidad de recursos que usan las actividades de mantenimiento en el motor de columnas
De forma predeterminada, el motor columnar usa hasta el 20% de los recursos de la base de datos. Para aumentar o reducir este uso, ajusta el ajuste google_columnar_engine.maintenance_cpu_percentage
(GUC). Para obtener más información, consulta Ajustar los recursos de CPU para las tareas de mantenimiento.