Corriger l'erreur "mémoire partagée insuffisante"
Si vous exécutez AlloyDB Omni sans suffisamment de mémoire partagée pour le moteur de données en colonnes, l'erreur suivante peut s'afficher :
Insufficient shared memory for generating the columnar formats.
Pour résoudre ce problème, spécifiez la quantité de mémoire partagée disponible pour le conteneur AlloyDB Omni.
Linux
Assurez-vous d'avoir déjà installé AlloyDB Omni avec votre répertoire
/dev/shm
monté sur le conteneur. Pour en savoir plus, consultez Personnaliser votre installation AlloyDB Omni.Augmentez la taille de la partition
/dev/shm
de votre machine hôte à l'aide d'une technique telle que la modification de votre fichier/etc/fstab
.
macOS
Installez un nouveau conteneur AlloyDB Omni et spécifiez une valeur de mémoire partagée plus élevée pour l'indicateur --shm-size
.
Identifier les tables qui sont renseignées dans le moteur en colonnes
Dans la vue g_columnar_relations
, créez des requêtes pour trouver les tables présentes dans le moteur en colonnes.
SELECT * FROM g_columnar_relations;
Déterminer la mémoire globale utilisée par le moteur en colonnes
Utilisez la fonction SQL google_columnar_engine_memory_available()
pour déterminer la quantité de mémoire utilisée par le moteur en colonnes.
SELECT google_columnar_engine_memory_available();
Déterminer si des colonnes spécifiques ne sont pas renseignées dans le moteur de données en colonnes
Essayez les solutions suivantes :
- Vérifiez si le moteur de colonnes est compatible avec le type de données de la colonne.
- Si vous avez récemment ajouté ou supprimé des colonnes dans la table de base, vérifiez que vous avez effectué la même opération dans le moteur de colonnes.
Vérifier si une requête utilise le moteur en colonnes
Dans le plan de requête, vérifiez s'il existe un nœud de planification "Custom Scan (columnar scan)" (Analyse personnalisée (analyse par colonne)).
Rechercher les tâches de maintenance en cours
Interrogez la vue g_columnar_jobs
pour trouver les jobs en cours.
SELECT * FROM g_columnar_jobs;
Définir la quantité de ressources utilisées par les activités de maintenance dans le moteur en colonnes
Par défaut, le moteur de colonnes utilise jusqu'à 20 % des ressources de la base de données. Pour augmenter ou diminuer cette utilisation, ajustez le paramètre google_columnar_engine.maintenance_cpu_percentage
(GUC). Pour en savoir plus, consultez Ajuster les ressources de processeur pour les tâches de maintenance.