En Edge para nube privada 4.54.00 (que se ejecuta en Java 21), el Message Processor usa el recolector de elementos no utilizados Garbage-First (G1GC) de forma predeterminada. En este documento, se describe cómo configurar y verificar la configuración de la recolección de elementos no utilizados en el Message Processor.
Personaliza el recolector de elementos no utilizados en los Message Processors
En esta sección, se describe el procedimiento para configurar parámetros alternativos de recolección de elementos no utilizados (GC) en el Message Processor de Edge. Para administrar los parámetros de GC , actualiza las propiedades de GC en el Message Processor. Para ajustar cualquier propiedad de configuración, usa la sintaxis de token definida en Cómo configurar Edge.
Para modificar la configuración de GC en los Message Processors, sigue estos pasos:
Verifica la propiedad de GC
En los siguientes pasos, se describe cómo verificar las propiedades de GC configuradas:
-
Busca las propiedades de GC en el directorio del código fuente del Message Processor
/opt/apigee/edge-message-processor/sourcecon el siguiente comando:grep -riE "useG1GC|useZGC|useStringDeduplication" /opt/apigee/edge-message-processor/source
-
Confirma que el resultado de este comando muestre la configuración de las propiedades de GC
para el Message Processor:
/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 cadena entre las etiquetas
{T}{/T}es el nombre de la propiedad que puedes establecer en el archivo.propertiesdel Message Processor.
Modifica la GC en los Message Processors
En los siguientes pasos, se describe cómo modificar la configuración de GC en los Message Processors de Apigee:
-
Abre el
/opt/apigee/customer/application/message-processor.propertiesarchivo en la máquina del Message Processor en un editor. Si el archivo aún no existe, créalo. Por ejemplo:vi /opt/apigee/customer/application/message-processor.properties
-
Agrega las líneas de configuración de GC deseadas según tu perfil objetivo:
-
Opción A: Usa G1GC como el recolector de elementos no utilizados predeterminado junto con algunas
modificaciones:
conf_system_useG1GC=true conf_system_useStringDeduplication=true conf_system_g1gc.g1ReservePercent=15
-
Opción B: Habilita ZGC generacional (opcional para implementaciones de latencia ultrabaja
):
conf_system_useG1GC=false conf_system_useZGC=true bin_setenv_max_meta_space_size=1024m
-
Opción C: Habilita un parámetro de configuración de GC genérico:
Configura
bin_setenv_ext_jvm_optsen el archivo de anulación.propertiesdel componente (/opt/apigee/customer/application/message-processor.properties) para configurar cualquier propiedad de GC genérica y, luego, reinicia el componente. Por ejemplo:conf_system_useG1GC=false conf_system_useZGC=false bin_setenv_ext_jvm_opts="-XX:+UseParallelGC"
-
Opción A: Usa G1GC como el recolector de elementos no utilizados predeterminado junto con algunas
modificaciones:
- Guarda los cambios.
-
Asegúrate de que este archivo de propiedades sea propiedad del usuario
apigee. Por ejemplo:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Reinicia el Message Processor con el siguiente comando:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Si tienes más de un Message Processor, repite estos pasos en todos los Message Processors.
Actualiza la anulación de duplicación de cadenas
De forma predeterminada, la configuración de G1GC establece UseStringDeduplication en
true, lo que optimiza la asignación de memoria del montón de Java, ya que permite que los valores String idénticos compartan un solo array de caracteres. Para inhabilitar la anulación de duplicación de cadenas, establece conf_system_useStringDeduplication=false en /opt/apigee/customer/application/message-processor.properties y reinicia el Message Processor, como se describe en Modifica la GC en los Message Processors.
Verifica la configuración de GC en los Message Processors
Para verificar que los cambios en la configuración de GC se hayan aplicado en el Message Processor, haz lo siguiente:
-
Busca la propiedad de GC en el
/opt/apigee/edge-message-processor/confdirectorio y verifica que se haya establecido con el valor nuevo. Por ejemplo:grep -riE "useG1GC|useZGC|g1gc\.|useStringDeduplication" /opt/apigee/edge-message-processor/conf
-
Verifica que
/opt/apigee/edge-message-processor/conf/system.propertiesrefleje los valores recién configurados. Por ejemplo, la configuración de GC predeterminada de Apigee se muestra de la siguiente manera:/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
-
Verifica que el proceso de JVM del Message Processor en ejecución se haya iniciado con las
marcas
-XX:esperadas:ps -ef | grep edge-message-processor | grep -E "UseG1GC|UseZGC"
-
Para G1GC predeterminado de Apigee, confirma que la línea de comandos
incluya:
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:G1ReservePercent=15 -XX:+UseStringDeduplication -XX:MaxMetaspaceSize=1024m -
Para ZGC generacional, confirma que la línea de comandos incluya:
-XX:+UseZGC -XX:+ZGenerational -XX:MaxMetaspaceSize=1024m
-
Para G1GC predeterminado de Apigee, confirma que la línea de comandos
incluya:
- Si aún no puedes configurar los parámetros de GC, comunícate con el equipo de asistencia de Apigee Edge.