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
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
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.
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/
Superbe article![]()
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.
Partager