Modifier les paramètres de mémoire Java

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

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

Tailles de mémoire par défaut et recommandées pour les segments de mémoire

Le tableau suivant répertorie les tailles de mémoire par défaut et recommandées pour les segments de mémoire Java Composants du cloud privé:

Composant Nom du fichier de propriétés Par défaut
Taille du tas de mémoire
Recommandé
Taille de tas de mémoire
Runtime (durée d'exécution)
Cassandra n/a Automatiquement1 Automatiquement1
Processeur de messages message-processor.properties 512 Mo Entre 3 Go et 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 Entre 2 Go et 4 Go
Gestion
Serveur de gestion management-server.properties 512 Mo 512 Mo
UI ui.properties 512 Mo 512 Mo
OpenLDAP 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 de mémoire lorsque il démarre. Actuellement, cela représente la moitié de la mémoire système totale, avec un maximum de 8 192 Mo. Pour en savoir plus sur la définition de la taille du tas de mémoire, consultez Modifier le tas de mémoire la taille de la mémoire.

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

Si l'utilisation des segments de mémoire approche de la limite maximale pendant vos tests de performances, augmentez la limite maximale. Pour en savoir plus sur la définition de la taille des segments de mémoire, consultez Modifiez la taille de la mémoire du tas de mémoire.

3 Tous les composants de cloud privé ne sont pas implémentés en Java. En effet, ne sont pas basées sur Java, les applications qui s'exécutent en mode natif sur la plate-forme hôte des tailles de tas de mémoire Java configurables ; au lieu de cela, elles s'appuient sur le système hôte pour la mémoire gestion de la sécurité.

Pour déterminer la quantité totale de mémoire qu'Apigee recommande d'allouer à vos charges de travail d'un nœud, ajoutez les valeurs indiquées ci-dessus pour chaque composant de ce nœud. Par exemple, si votre nœud héberge à la fois les serveurs Postgres et Qpid, Apigee recommande que votre mémoire combinée doit être comprise entre 2,5 Go et 4,5 Go.

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

Modifier la taille de la mémoire du tas de mémoire

Pour modifier les paramètres des segments de mémoire, modifiez le fichier de propriétés du composant. Par exemple, pour le processeur de messages, modifiez /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'existent pas, le créer, puis changer la propriété du fichier pour « apigee » comme suit : dans cet exemple:

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

Si le composant est installé sur plusieurs machines, telles que le processeur de messages, alors vous doit modifier le fichier de propriétés sur toutes les machines hébergeant le composant.

Le tableau suivant répertorie les propriétés que vous modifiez pour modifier la taille des segments de mémoire:

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 répertoriées dans Tailles de mémoire par défaut et recommandées pour les segments de mémoire

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 répertoriées dans Tailles de mémoire par défaut et recommandées pour les segments de mémoire

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 bin_setenv_max_permsize, soit 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 du trafic.

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

Lorsque vous définissez les propriétés de taille du tas de mémoire sur un nœud, utilisez la commande pour indiquer des mégaoctets, puisque le l'exemple suivant montre:

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

Une fois les valeurs définies 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 JVM

Pour les paramètres Java qui ne sont pas contrôlés par les propriétés répertoriées ci-dessus, vous pouvez également transmettre des Options ou valeurs JVM pour tout composant Edge Les fichiers *.properties seront lus dans par Bash et doit être délimitée par des '(guillemets simples) pour conserver les caractères littéraux ou "(guillemets doubles) si vous avez besoin d'une expansion de shell.

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

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

Pour obtenir des conseils supplémentaires sur la configuration de la mémoire pour les composants de cloud privé, consultez ce sur les forums Edge.