IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tests et Performance Java Discussion :

JVisualVM est-il intrusif ?


Sujet :

Tests et Performance Java

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut JVisualVM est-il intrusif ?
    Bonjour,

    Nous utilisons JVisualVM pour monitorer des programme Java.
    Certains de mes collègues me disent que si le heapSpace augmente (alors qu'il ne devrait pas) c'est à cause de JVisualVM. Est-ce que c'est possible ?

    Cordialement,
    Nicolas

  2. #2
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Non, ça ne l'est pas.

    Tes collègues auraient dû lire ceci :
    http://weblogs.java.net/blog/jjviana...ur-application

    Ca explique comment JVisualVM fonctionne par échantillonnage, et donc rien est conservé dans le Heap de la VM monitoré.

    En revanche, activer JMX pour faire du remote, va consommer un petit peu de Heap mais certainement pas bcp (qqs méga tout au plus, entre 1 et 5) dans la JVM qui est monitorée.

    Si la HEAP augmente et n'est pas libérée, c'est que vous avez une "fuite mémoire", mais certainement pas JVISUALVM.

    Tu peux essayer de faire le test et de monitorer un GlassFish (ou autre) qui ne fait pas grand chose (genre une servlet toute bête, stressée de temps en temps avec un JMeter) ... et tu verras que malgré JVisualVM, la Heap n'augmente pas.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2002
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 360
    Points : 3 614
    Points
    3 614
    Par défaut
    Je dirais plutôt que ça depend comment tu l'utilise.

    C'est quoi ton utilisation de VisualVM ?

    J'ai écris un article sur l'overhead des profiler que tu trouvera sur http://blog.aliecom.com/pourquoi-fai...ion-loverhead/

  4. #4
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Superbe article
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  5. #5
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut
    Bonjour,

    Désolé pour le retard. On a un serveur Tomcat qui est lancé avec un war. On a aussi un client RCP qui dialogue avec ce war.
    Avec JVisualVM, on regarde les thread qui sont lancés par le serveur, on fait des heapDump parfois pour les analyser avec MAT (par exemple) et on l'utilise pour suivre l'évolution du heap.
    Rien de bien poussé pour l'instant.

    Cordialement,
    Nicolas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 14h52
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. Quelle est la fiabilité du protocole SSL ?
    Par Anonymous dans le forum Développement
    Réponses: 5
    Dernier message: 05/09/2002, 13h31
  4. apprentissage du C est-il necessaire pour C++ ?
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 02/05/2002, 12h56
  5. C'est quoi exactement un générateur d'états
    Par Henry Cesbron Lavau dans le forum Outils de restitution et d'analyse
    Réponses: 0
    Dernier message: 02/04/2002, 19h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo