Correggere l'errore "Memoria condivisa insufficiente"
Se esegui AlloyDB Omni senza memoria condivisa sufficiente per il motore colonnare, potresti visualizzare il seguente errore:
Insufficient shared memory for generating the columnar formats.
Per risolvere il problema, specifica la quantità di memoria condivisa disponibile per il contenitore AlloyDB Omni.
Linux
Assicurati di aver già installato AlloyDB Omni con la directory
/dev/shm
montata sul contenitore. Per ulteriori informazioni, vedi Personalizzare l'installazione di AlloyDB Omni.Aumenta le dimensioni della partizione
/dev/shm
della macchina host utilizzando una tecnica come la modifica del file/etc/fstab
.
macOS
Installa un nuovo container AlloyDB Omni e
specifica un valore di memoria condivisa maggiore per il flag --shm-size
.
Trovare le tabelle compilate nel motore colonnare
Nella visualizzazione g_columnar_relations
, crea query per trovare le tabelle presenti nel motore colonnare.
SELECT * FROM g_columnar_relations;
Trovare la memoria complessiva utilizzata dal motore colonnare
Utilizza la funzione SQL google_columnar_engine_memory_available()
per determinare
la quantità di memoria utilizzata dal motore colonnare.
SELECT google_columnar_engine_memory_available();
Determinare se colonne specifiche non sono compilate nel motore colonnare
Prova le seguenti possibili soluzioni:
- Controlla se il motore colonnare supporta il tipo di dati della colonna.
- Se di recente hai aggiunto o eliminato colonne nella tabella di base, verifica di aver eseguito la stessa operazione nel motore colonnare.
Verificare se una query utilizza il motore colonnare
Nel piano di query, verifica se è presente un nodo del planner "Custom Scan (columnar scan)".
Trovare i lavori di manutenzione in corso
Esegui una query nella visualizzazione g_columnar_jobs
per trovare i job in corso.
SELECT * FROM g_columnar_jobs;
Imposta la quantità di risorse utilizzate dalle attività di manutenzione nel motore colonnare
Per impostazione predefinita, il motore colonnare utilizza fino al 20% delle risorse del database. Per
aumentare o diminuire questo utilizzo, modifica l'impostazione
google_columnar_engine.maintenance_cpu_percentage
(GUC). Per saperne di più,
consulta Modificare le risorse CPU per le attività di manutenzione.