Activer les Huge Pages
AlloyDB Omni, tout comme PostgreSQL, prend en charge l'utilisation des Huge Pages. Pour cela, vous devez activer les Huge Pages sur votre machine et activer le paramètre de base de données huge_pages.
Exécutez le script fourni pour activer les Huge Pages sur votre machine :
Docker
docker run --rm --privileged google/alloydbomni setup-hostPodman
podman run --rm --privileged google/alloydbomni setup-hostAjoutez la ligne suivante à votre fichier
postgresql.confpour activer les Huge Pages :huge_pages=on
Activer l'échange
L'échange dans le système d'exploitation permet d'étendre la mémoire physique disponible en déplaçant les pages de mémoire inactives entre la mémoire vive (RAM) et le disque dur pour libérer de l'espace RAM pour les processus actifs. AlloyDB Omni utilise l'échange lorsqu'il est soumis à une charge élevée et nécessite de la mémoire supplémentaire.
Pour vérifier la quantité d'espace d'échange activée sur votre système, exécutez la commande suivante :
cat /proc/meminfo | grep SwapTotalLa sortie ressemble à ceci :
SwapTotal: 165748732 kB
Pour activer l'échange sur votre système d'exploitation si la valeur de sortie est 0, consultez les ressources suivantes :
Activer les vidages de mémoire
Si AlloyDB Omni rencontre une erreur irrécupérable et plante, il est utile de disposer d'un vidage de mémoire pour l'analyse. Un vidage de mémoire est un instantané de la mémoire du processus AlloyDB Omni au moment du plantage.
Pour configurer les vidages de mémoire, configurez kernel.core_pattern comme suit :
- Utilisez la commande
sysctlpour configurer les paramètres du kernel au moment de l'exécution. - Pour définir immédiatement
kernel.core_pattern, utilisez :posix-terminal sysctl -w kernel.core_pattern="CORE_PATTERN"RemplacezCORE_PATTERNpar un modèle de nom de fichier principal tel que "%e-%t.core". Pour en savoir plus sur les modèles de nom de fichier principal, consultez la section Définir les noms de fichiers principaux de processus. Le gestionnaire systemd-coredump permet de configurer davantage vos paramètres de vidage de mémoire. L'outil est installé par défaut dans RHEL. Sur les systèmes Debian et Ubuntu, exécutezsudo apt install coredumpctlpour installer l'outil. Lorsque vous démarrez AlloyDB Omni, assurez-vous de transmettre l'argument--ulimit=core:-1:-1dans la commandedocker run:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=core:-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomniRemplacez les éléments suivants :
CONTAINER_NAME: nom d'un nouveau conteneur AlloyDB Omni, par exemplemy-omni-1.<code>NEW_PASSWORD: mot de passe attribué à l'utilisateurpostgresdu nouveau conteneur après sa création.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=core:-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomniRemplacez les éléments suivants :
CONTAINER_NAME: nom d'un nouveau conteneur AlloyDB Omni, par exemplemy-omni-1.<code>NEW_PASSWORD: mot de passe attribué à l'utilisateurpostgresdu nouveau conteneur après sa création.
Configurer des unités systemd pour exécuter automatiquement des opérations
Si vous exécutez AlloyDB Omni sur un serveur dédié, vous pouvez configurer certaines opérations pour qu'elles démarrent automatiquement au démarrage du serveur. Pour ce faire, vous pouvez utiliser des unités systemd.
Par exemple, les étapes suivantes configurent systemd afin que les Huge Pages soient activées automatiquement chaque fois que le serveur démarre.
Créez un fichier dans
/etc/systemd/system/alloydb-setup-env.service:[Unit] Description=Setup huge pages for AlloyDB Omni [Service] Type=oneshot ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host [Install] WantedBy=multi-user.target ```Activez le service comme suit :
sudo systemctl enable alloydb-setup-env.service