Chapitre 14. JVM

14.1. JVM

14.1.1. Paramètres de configuration de JVM

Les paramètres de configuration de Machines virtuelles Java (JVM) varient selon les instances de domaine géré et les instances de serveur autonome. Dans un domaine géré, les paramètres de JVM sont déclarés dans les fichiers de configuration host.xml et domain.xml, et ils sont déterminés par les composants de contrôleur de domaine chargés de lancer et d'arrêter le processus du serveur. Dans une instance de serveur autonome, les processus de démarrage de serveur peuvent passer des paramètres de ligne de commande au démarrage. Ceux-ci peuvent être déclarés depuis la ligne de commande ou via l'écran de Propriétés système dans la Console de gestion.
Domaine géré

Une caractéristique importante du domaine géré est la possibilité de définir des paramètres de la JVM à plusieurs niveaux. Vous pouvez configurer les paramètres de JVM personnalisés au niveau de l'hôte, par groupe de serveurs, ou par instance de serveur. Les éléments enfants plus spécialisés remplacent la configuration parent, permettant la déclaration des configurations de serveur spécifique sans nécessiter d'exclusions au niveau groupe ou hôte. Cela permet également la configuration parent d'être héritée par les autres niveaux jusqu'à ce que les paramètres soient déclarés dans les fichiers de configuration ou transmis pendant le runtime.

Exemple 14.1. Les paramètres de configuration JVM du fichier de configuration du domaine

L'exemple suivant montre une déclaration JVM pour un groupe de serveurs dans le fichier de configuration domain.xml.
<server-groups>
       <server-group name="main-server-group" profile="default">
           <jvm name="default">
               <heap size="64m" max-size="512m"/>
           </jvm>
           <socket-binding-group ref="standard-sockets"/>
       </server-group>
       <server-group name="other-server-group" profile="default">
           <jvm name="default">
               <heap size="64m" max-size="512m"/>
           </jvm>
           <socket-binding-group ref="standard-sockets"/>
       </server-group>
</server-groups>

Dans cette instance, un groupe de serveurs appelé main-server-group déclare une taille de segment de 64 mégaoctets et une taille de segment maximale de 512 méga-octets. N'importe quel serveur qui appartient à ce groupe héritera de ces paramètres. Vous pouvez modifier ces paramètres pour le groupe dans son ensemble, par hôte ou serveur individuel.

Exemple 14.2. Les paramètres de configuration du domaine dans le fichier de configuration de l'hôte

L'exemple suivant montre une déclaration JVM pour un groupe de serveurs dans le fichier de configuration host.xml.
<servers>
       <server name="server-one" group="main-server-group" auto-start="true">
           <jvm name="default"/>
       </server>
       <server name="server-two" group="main-server-group" auto-start="true">
           <jvm name="default">
               <heap size="64m" max-size="256m"/>
           </jvm>
           <socket-binding-group ref="standard-sockets" port-offset="150"/>
       </server>
       <server name="server-three" group="other-server-group" auto-start="false">
           <socket-binding-group ref="standard-sockets" port-offset="250"/>
       </server>
</servers>

Dans ce cas, un serveur appelé server-two appartient au groupe de serveurs nommé main-server-group, qui hérite les paramètres du groupe de JVM par défaut. Dans l'exemple précédent, la taille du segment principal de main-server-group a été fixée à 512 méga-octets. En déclarant une taille de segment basse de 256 mégaoctets, server-two peut substituer les paramètres de domain.xml pour ajuster les performances comme vous le souhaitez.
Paramètres de configuration de serveur autonome en cours d'exécution

Les paramètres de JVM pour des instances de serveurs autonomes peuvent être déclarés pendant l'exécution en définissant la variable d'environnement JAVA_OPTS avant de démarrer le serveur. Un exemple de définition de la variable d'environnement JAVA_OPTS en ligne de commande Linux est :

[user@host bin]$ export JAVA_OPTS="-Xmx1024M"
La même configuration peut être utilisée dans un environnement Microsoft Windows, comme suit :
C:\> set JAVA_OPTS="Xmx1024M"
Alternativement, les paramètres de configuration JVM peuvent être ajoutés au fichier standalone.conf qui se trouve dans le dossier EAP_HOME/bin, contenant des exemples d'options à passer à la JVM.

14.1.2. Afficher le statut JVM dans la Console de gestion

Le statut de la Machine virtuelle Java (JVM) peut être affichée dans la Console de gestion pour le serveur autonome ou un domaine géré. La console affiche l'utilisation de segments, leur non utilisation, et l'usage de threads du serveur en mégaoctets. Malgré que les statistiques ne soient pas affichés en temps réel, vous pouvez actualiser l'affichage de la console pour donner un aperçu à jour des ressources de la machine virtuelle Java.
Le statut de la JVM affiche les valeurs suivantes.

Tableau 14.1. Attributs de Statut JVM

Type Description
Max Le montant de mémoire maximal en octets pouvant être utilisés pour la gestion de la mémoire.
Utilisé Le montant de mémoire utilisé en méga octets.
Validé Le montant de mémoire en octets alloué à l'utilisation de la machine virtuelle Java.
Init Le montant de mémoire en octets que la machine virtuelle Java a demandé au départ au système d'exploitation pour la gestion de la mémoire.

Procédure 14.1. Afficher le statut JVM dans la Console de gestion

  • Afficher le statut de la JVM

    Vous pouvez afficher le statut de la JVM dans l'instance de serveur autonome ou dans un domaine géré.
    • Affichage du statut de la JVM pour une instance de serveur autonome

      Sélectionner JVM Status du menu Server Status sure l'écran de Runtime.
      Statut de la JVM pour une instance de serveur autonome

      Figure 14.1. Statut de la JVM pour une instance de serveur autonome

    • Afficher le statut de la JVM d'un domaine géré

      Sélectionner le statut de la JVM à partir du menu Statut de domaine sur l'écran Runtime.
    • Le domaine géré peut rendre visibles toutes les instances de serveur dans le groupe de serveurs, mais ne vous permettra d'afficher qu'un seul serveur à la fois en sélectionnant dans le menu serveur. Pour afficher le statut des autres serveurs dans votre groupe de serveurs, cliquez sur le menu déroulant en haut à gauche de l'écran pour sélectionner à partir de l'hôte et des serveurs affichés dans votre groupe et cliquez sur le bouton Done pour charger les résultats.
Résultat

Le statut des paramètres de configuration de la JVM de l'instance de serveur est affiché.