52 votes

comment profiler le démarrage d'une application avec visualvm

Autant que je sache , vous ne pouvez profiler qu'une application en cours d'exécution à l'aide de VisualVM .

Est-ce que quelqu'un connaît un moyen de profiler le lancement et le démarrage d'une application Java à l'aide de VisualVM?

Je suis convaincu qu'il doit y avoir un moyen, sinon ce serait un oubli majeur.

En espérant que je viens de mal lire la documentation.

Merci, p.

18voto

KarlP Points 3246

Utilisez le programme de lancement éclipse et définissez un point d'arrêt à un emplacement approprié dans la méthode principale.

Ensuite, démarrez en mode débogage, activez le profilage dans visualVM, puis reprenez avec eclipse.

Cela ne profilera pas le chargement de classe et tout le reste, mais c'est suffisant pour moi.

9voto

skaffman Points 197885

Êtes-vous à la configuration du profilage à l'aide de l'option `-Xrunjdwp" option de ligne de commande? Si oui, cette option a un "suspendre" paramètre pour cet effet:

Vrai si la cible de la VM doit être suspendu immédiatement avant la classe principale est chargé; false dans le cas contraire.

Exemple tiré de ma propre config:

-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

- Je l'utiliser avec l'YourKit profiler, mais je pense que le principe est le même.

0voto

Robert Points 10865

Les deux environnements de développement Java courants (NetBeans / Eclipse) prennent en charge l'exécution d'applications directement avec VisualVM attaché. Dans le cas d’Eclipse, vous devez installer un plugin . Dans le cas de NetBeans, l’assistance AFAIK est déjà intégrée.
Même si vous ne disposez pas des sources, vous pouvez toujours exécuter le (s) fichier (s) JAR via les deux environnements et par conséquent démarrer votre application connectée à VisualVM.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X