Dans Edge pour Private Cloud 4.54.00 (qui s'exécute sur Java 21), le processeur de messages utilise le récupérateur de mémoire Garbage-First (G1GC) par défaut. Ce document explique comment configurer et vérifier les paramètres de récupération de mémoire sur le processeur de messages.
Personnaliser le récupérateur de mémoire sur les processeurs de messages
Cette section décrit la procédure de configuration d'autres paramètres de récupération de mémoire sur le processeur de messages Edge. Vous gérez les paramètres de récupération de mémoire en mettant à jour les propriétés de récupération de mémoire sur le processeur de messages. Pour ajuster une propriété de configuration, utilisez la syntaxe de jeton définie dans Configurer Edge.
Pour modifier les paramètres de récupération de mémoire sur les processeurs de messages, procédez comme suit :
- Vérifiez la propriété de récupération de mémoire
- Modifiez la récupération de mémoire sur les processeurs de messages
Vérifier la propriété de récupération de mémoire
Les étapes suivantes décrivent comment vérifier les propriétés de récupération de mémoire configurées :
-
Recherchez les propriétés de récupération de mémoire dans le répertoire source du processeur de messages
/opt/apigee/edge-message-processor/sourceà l'aide de la commande suivante :grep -riE "useG1GC|useZGC|useStringDeduplication" /opt/apigee/edge-message-processor/source
-
Vérifiez que la sortie de cette commande affiche la configuration des propriétés de récupération de mémoire
pour le processeur de messages :
/opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T} /opt/apigee/edge-message-processor/source/conf/system.properties:useZGC={T}conf_system_useZGC{/T} /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}La chaîne entre les balises
{T}{/T}correspond au nom de la propriété que vous pouvez définir dans le fichier.propertiesdu processeur de messages.
Modifier la récupération de mémoire sur les processeurs de messages
Les étapes suivantes décrivent comment modifier les paramètres de récupération de mémoire sur les processeurs de messages Apigee :
-
Ouvrez le
/opt/apigee/customer/application/message-processor.propertiesfichier sur la machine du processeur de messages dans un éditeur. Si le fichier n'existe pas déjà, créez-le. Exemple :vi /opt/apigee/customer/application/message-processor.properties
-
Ajoutez les lignes de configuration de récupération de mémoire souhaitées en fonction de votre profil cible :
-
Option A : Utiliser G1GC comme récupérateur de mémoire par défaut avec quelques
modifications :
conf_system_useG1GC=true conf_system_useStringDeduplication=true conf_system_g1gc.g1ReservePercent=15
-
Option B : Activer ZGC générationnel (facultatif pour les déploiements à très faible latence
) :
conf_system_useG1GC=false conf_system_useZGC=true bin_setenv_max_meta_space_size=1024m
-
Option C : Activer un paramètre de récupération de mémoire générique :
Définissez
bin_setenv_ext_jvm_optsdans le fichier de remplacement.propertiesdu composant (/opt/apigee/customer/application/message-processor.properties) pour configurer les propriétés de récupération de mémoire génériques, puis redémarrez le composant. Exemple :conf_system_useG1GC=false conf_system_useZGC=false bin_setenv_ext_jvm_opts="-XX:+UseParallelGC"
-
Option A : Utiliser G1GC comme récupérateur de mémoire par défaut avec quelques
modifications :
- Enregistrez les modifications.
-
Assurez-vous que ce fichier de propriétés appartient à l'utilisateur
apigee. Exemple :chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Redémarrez le processeur de messages à l'aide de la commande suivante :
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Si vous avez plusieurs processeurs de messages, répétez ces étapes sur tous les processeurs de messages.
Mettre à jour la déduplication de chaînes
Par défaut, la configuration G1GC définit UseStringDeduplication sur
true, ce qui optimise l'allocation de mémoire du tas Java en permettant aux
valeurs String identiques de partager un seul tableau de caractères. Pour
désactiver la déduplication de chaînes, définissez
conf_system_useStringDeduplication=false dans
/opt/apigee/customer/application/message-processor.properties et
redémarrez le processeur de messages, comme décrit dans
Modifier la récupération de mémoire sur les processeurs de messages.
Vérifier la configuration de récupération de mémoire sur les processeurs de messages
Pour vérifier que les modifications de configuration de récupération de mémoire ont été appliquées sur le processeur de messages :
-
Recherchez la propriété de récupération de mémoire dans le
/opt/apigee/edge-message-processor/confrépertoire et vérifiez qu'elle a été définie avec la nouvelle valeur. Exemple :grep -riE "useG1GC|useZGC|g1gc\.|useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
Vérifiez que
/opt/apigee/edge-message-processor/conf/system.propertiesreflète les valeurs que vous avez configurées. Par exemple, les paramètres Apigee Default GC (Récupération de mémoire par défaut Apigee) s'affichent comme suit :/opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true /opt/apigee/edge-message-processor/conf/system.properties:useZGC=false /opt/apigee/edge-message-processor/conf/system.properties:g1gc.maxGCPauseMillis=200 /opt/apigee/edge-message-processor/conf/system.properties:g1gc.initiatingHeapOccupancyPercent=45 /opt/apigee/edge-message-processor/conf/system.properties:g1gc.g1ReservePercent=15 /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
-
Vérifiez que le processus JVM du processeur de messages en cours d'exécution a été démarré avec les
indicateurs
-XX:attendus :ps -ef | grep edge-message-processor | grep -E "UseG1GC|UseZGC"
-
Pour Apigee Default G1GC, vérifiez que la ligne de commande
inclut :
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:G1ReservePercent=15 -XX:+UseStringDeduplication -XX:MaxMetaspaceSize=1024m -
Pour Generational ZGC (ZGC générationnel), vérifiez que la ligne de commande inclut :
-XX:+UseZGC -XX:+ZGenerational -XX:MaxMetaspaceSize=1024m
-
Pour Apigee Default G1GC, vérifiez que la ligne de commande
inclut :
- Si vous ne parvenez toujours pas à configurer les paramètres de récupération de mémoire, contactez l'assistance Apigee Edge.