Audit mémoire Tomcat VisualVm

De EjnTricks
Révision de 22 octobre 2017 à 10:22 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Le serveur Tomcat est utilisé pour mettre à disposition des applications Java, comme Jenkins. Afin de garantir un bon fonctionnement, ou pour optimiser les ressources de la machine, il faut dimensionner correctement la mémoire utilisée par celui-ci. VisualVm va permettre d'auditer la mémoire consommer et ajuster les paramètres d'exécution du serveur.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Icon-Configuration-Settings.png Configuration Tomcat

Afin d'auditer la mémoire utilisée avec VisualVm, il est nécessaire de modifier les variables d'environnement du serveur Tomcat. Dans le cadre de cette installation, sous Ubuntu, ceci est réalisé en modifiant le script setenv.sh disponible dans le répertoire /var/lib/tomcat8/bin, comme décrit ici, afin d'ajouter les arguments suivant.

  • com.sun.management.jmxremote
  • com.sun.management.jmxremote.port=7091
  • com.sun.management.jmxremote.authenticate=false
  • com.sun.management.jmxremote.ssl=false
  • java.rmi.server.hostname=192.168.1.32

Le contenu du script est le suivant.

#!/bin/sh

export CATALINA_OPTS="-Xms512m -Xmx1024m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.1.32"

Ce script de démarrage défini des paramètres mémoire de 1 Go pour Xmx et 512 Mo Xms.


Configuration-icon.png Configuration VisualVm

Une fois le serveur Tomcat démarré, il est possible de configurer une connexion à distance depuis VisualVm sur le port 7091 en ajoutant une connexion à distance.


Une fois configurée, l'audit des ressources est accessible en double cliquant sur l'icône de la connexion nouvellement créé. Il faut alors ouvrir l'onglet Monitor de la fenêtre affichée.


Study icon.png Analyse

L'objectif de cet article est d'optimiser les paramètres mémoires du serveur sur lequel est installé entre autre Jenkins. L'accès à cette application est donc réalisée et une analyse est déclenchée afin de constater la consommation mémoire.


Dans ce cas, il est constaté une consommation qui ne dépasse pas les 250 Mo de mémoire. Au passage, il est constaté que la CPU est faiblement utilisée. Il est donc possible de réduire les ressources allouées dans le script setenv.sh, en affectant par exemple 512 Mo pour Xmx et 256 Mo pour Xms. Le contenu du script devient le suivant, en supprimant les argument pour VisualVm

#!/bin/sh

export CATALINA_OPTS="-Xms256m -Xmx512m"