Modifier les paramètres de mémoire Java

En fonction de vos besoins en trafic et en traitement, vous devrez peut-être modifier la taille de la mémoire du tas ou la taille des métadonnées de classe pour vos nœuds exécutant des composants Private Cloud basés sur Java.

Cette section fournit les tailles de mémoire de tas Java par défaut et recommandées, ainsi que la procédure à suivre pour modifier les valeurs par défaut. Enfin, cette section explique comment modifier d'autres paramètres de la JVM à l'aide de fichiers de propriétés.

Tailles de mémoire du tas par défaut et recommandées

Le tableau suivant répertorie les tailles de mémoire du tas Java par défaut et recommandées pour les composants de cloud privé basés sur Java :

Composant Nom du fichier de propriétés Taille du tas
par défaut
Recommandée
Taille du tas
Runtime (durée d'exécution)
Cassandra n/a Configuré automatiquement1 Configuré automatiquement1
Processeur de messages message‑processor.properties 512 Mo 3 Go à 6 Go2
Routeur router.properties 512 Mo 512 Mo
Analytics
Serveur Postgres postgres‑server.properties 512 Mo 512 Mo
Serveur Qpid qpid‑server.properties 512 Mo 2 Go à 4 Go
Gestion
Serveur de gestion management‑server.properties 512 Mo 512 Mo
UI ui.properties 512 Mo 512 Mo
SymasLDAP n/a Application native3 Application native3
ZooKeeper zookeeper.properties 2 048 Mo 2 048 Mo
Remarques

1 Cassandra calcule dynamiquement la taille maximale du tas au démarrage. Actuellement, il s'agit de la moitié de la mémoire système totale, avec un maximum de 8 192 Mo. Pour savoir comment définir la taille du tas de mémoire, consultez Modifier la taille de la mémoire du tas.

2 Pour les processeurs de messages, Apigee vous recommande de définir la taille du tas entre 3 Go et 6 Go. N'augmentez la taille du tas au-delà de 6 Go qu'après avoir effectué des tests de performances.

Si l'utilisation du tas approche la limite maximale lors de vos tests de performances, augmentez la limite maximale. Pour savoir comment définir la taille du tas de mémoire, consultez Modifier la taille de la mémoire du tas.

3 Tous les composants Private Cloud ne sont pas implémentés en Java. Comme elles ne sont pas basées sur Java, les applications s'exécutant de manière native sur la plate-forme hôte n'ont pas de tailles de tas Java configurables. Elles s'appuient plutôt sur le système hôte pour la gestion de la mémoire.

Pour déterminer la quantité totale de mémoire qu'Apigee recommande d'allouer à vos composants basés sur Java sur un nœud, additionnez les valeurs listées ci-dessus pour chaque composant sur ce nœud. Par exemple, si votre nœud héberge les serveurs Postgres et Qpid, Apigee recommande que l'allocation de mémoire combinée soit comprise entre 2,5 Go et 4,5 Go.

Pour obtenir la liste du matériel requis (comme la RAM), consultez Exigences d'installation.

Modifier la taille de la mémoire du tas

Pour modifier les paramètres de mémoire du tas, modifiez le fichier de propriétés du composant. Par exemple, pour le processeur de messages, modifiez le fichier /opt/apigee/customer/application/message-processor.properties.

Si le fichier message-processor.properties n'existe pas ou si le fichier .properties correspondant à un composant Edge n'existe pas, créez-le, puis transférez-en la propriété à l'utilisateur "apigee", comme le montre l'exemple suivant :

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

Si le composant est installé sur plusieurs machines, comme le processeur de messages, vous devez modifier le fichier de propriétés sur toutes les machines qui hébergent le composant.

Le tableau suivant liste les propriétés que vous modifiez pour changer la taille du tas :

Propriété Description
bin_setenv_min_mem

Taille minimale du tas de mémoire. La valeur par défaut est basée sur les valeurs listées dans Tailles de mémoire du tas par défaut et recommandées.

Ce paramètre correspond à l'option Java -Xms.

bin_setenv_max_mem

Taille maximale du tas de mémoire. La valeur par défaut est basée sur les valeurs listées dans Tailles de mémoire du tas par défaut et recommandées.

Ce paramètre correspond à l'option Java -Xmx.

bin_setenv_meta_space_size

Taille par défaut des métadonnées de classe. La valeur par défaut est définie sur la valeur de bin_setenv_max_permsize, qui est de 128 Mo par défaut. Sur le processeur de messages, Apigee vous recommande de définir cette valeur sur 256 Mo ou 512 Mo, en fonction de votre trafic.

Ce paramètre correspond à l'option Java -XX:MetaspaceSize.

Lorsque vous définissez des propriétés de taille de tas sur un nœud, utilisez le suffixe "m" pour indiquer les mégaoctets, comme le montre l'exemple suivant :

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

Après avoir défini les valeurs dans le fichier de propriétés, redémarrez le composant :

/opt/apigee/apigee-service/bin/apigee-service component restart

Exemple :

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Modifier d'autres propriétés de la JVM

Pour les paramètres Java qui ne sont pas contrôlés par les propriétés listées ci-dessus, vous pouvez également définir les éléments suivants dans le fichier de propriétés correspondant pour n'importe quel composant Edge :

  • bin_setenv_ext_jvm_opts : définissez n'importe quelle propriété Java non spécifiée par d'autres propriétés. Exemple :
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    Toutefois, n'utilisez pas bin_setenv_ext_jvm_opts pour définir -Xms, -Xmx ou -XX:MetaspaceSize, car ces valeurs sont contrôlées par les propriétés listées ci-dessus.

Pour obtenir d'autres conseils sur la configuration de la mémoire pour les composants Private Cloud, consultez cet article sur les forums Edge.