preload preload preload preload

Activer jstatd dans votre JVM


Le vendredi 08 juillet 2011 par madpellzo JDK/JRE 1 commentaire

jstatd est un server RMI qui permet de monitorer votre JVM. La configuration décrite ci après vous explique comment configurer et lancer jstatd de façon a s'y connecter à distance avec un outil de monitoring comme VisualVM.

Supposons que votre JDK soit installée dans /usr/local/java

Nous allons commencer par créer un fichier policy qui va autoriser jstatd a accéder et exploiter les outils de la JVM :

# vi /usr/local/java/jstatd.all.policy

grant codebase "file:${java.home}/../lib/tools.jar" {

   permission java.security.AllPermission;

};

Ensuite on lance jstatd comme ceci:

# /usr/local/java/bin/jstatd -J-Djava.security.policy=/usr/local/java/jstatd.all.policy &

Le server jstatd est bindé sur le port 1099 par défaut. Rajouter l'option "-p" et le port TCP souhaité dans la logne de commande si vous voulez binder jstatd sur un autre port.

Voici un petit scritp de démarrage et d'arrêt de jstad:

#!/bin/sh


# jstatd startup script

start ()
{
        /usr/local/java/bin/jstatd -J-Djava.security.policy=/usr/local/java/jstatd.all.policy > /dev/null 2>&1 &
        ps -ef | grep /usr/local/java/bin/jstatd | grep -v grep | awk -F" " '{print $2}' > /var/run/jstatd.pid
}

stop ()
{
        kill -9 `cat /var/run/jstatd.pid`
        rm /var/run/jstatd.pid
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  *)
  echo "Usage: $0 {start|stop|restart}"
  exit 1
esac

Une fois le serveur jstard démarré, vous pouvez vous y connecter à distance en utilisant VisualVM livré avec votre JDK (<JDK PATH>/bin/visualvm.exe)

Associé à l'activation de JMX (cf article Activer JMX dans votre JVM) les données receuillies par VisualVM sont très intéressantes lors de benchmarking (utisation des différents compartiement de la mémoire de votre JVM, fréquence et durée de garbage collecting ...)

Mots clés : jstatd jdk

  • Commentaires

  • Avatar Gravatar
     Jean Philippe
     #1 Le 27 février 2012

    Merci pour le petit script ca m'a été bien utile

  • Ecrire un commentaire








    Quelle est la deuxième lettre du mot oeujb ?