2009-12-09 7 views
1

Il existe de nombreux profileurs java, y a-t-il des recommandations sur ce qui serait le mieux pour profiler une application de démarrage Web java qui est déployée sur glassfish dans une guerre?Création d'une application Java Web Start

+0

Que cherchez-vous à profiler? Mémoire, temps CPU, allocation d'objets, etc, cela aidera à affiner quels outils (gratuits ou non) peuvent être disponibles. – broschb

+0

Je pense que dans mon contexte, il serait plus logique de se concentrer sur l'utilisation de la mémoire. – Casey

Répondre

5

Eh bien, les réponses traditionnelles pour une telle question sont VisualVM et/ou Yourkit (si vous avez de l'argent).

Si vous optez pour VisualVM, this thread vous aidera à configurer votre application Webstart pour JMX.

Si vous optez pour Yourkit, jetez un oeil à this discussion.

+1

Vous n'avez pas besoin de JMX pour exécuter visualvm afin de pouvoir vous connecter si vous exécutez sur la même machine, uniquement sur le réseau. –

+3

J'ai effectivement utilisé l'outil VisualVM qui est fourni avec le JDK. Il se trouve dans le répertoire bin et s'appelle jvisualvm.exe. Lors de l'exécution de l'application de démarrage Web avec java6, vous devez désactiver le partage de classe. J'ai utilisé la ligne de commande suivante pour le faire fonctionner correctement avec visualvm javaws -J-Xshare: off app.jnlp sinon visualvm va planter. Merci pour la recommandation! – Casey

+0

@Casey Merci pour l'astuce du drapeau Xshare! Mon application de démarrage Web n'apparaissait pas dans VisualVM sous Linux. Démarrage de l'application de démarrage Web avec le Xshare: off flag résolu ce problème! – nhylated

0

Here's un moyen rapide et sale mais simple, gratuit et efficace. Il est agnostique, et son fonctionnement est expliqué here.