Intellij Idea - Profilage

Profiler donne des informations sur votre application comme son utilisation du processeur, de la mémoire et du tas. Il donne également des détails sur les fils d'application. Ce chapitre traite de l'utilisation de l'outil VisualVM pour le profilage d'applications Java. Il peut profiler des entités telles que le processeur et le tas.

Il est recommandé aux lecteurs de ce didacticiel de se familiariser avec les concepts du profileur d'application.

introduction

VisualVM est un outil visuel qui intègre les outils JDK et vous offre de puissantes capacités de profilage. Il vous permet de générer et d'analyser des données de tas, de localiser les fuites de mémoire, de surveiller le ramasse-miettes et d'effectuer le profilage de la mémoire et du processeur.

Avantages

  • Interface visuelle pour les applications Java locales et distantes exécutées sur JVM.

  • Surveillance de l'utilisation de la mémoire de l'application et du comportement d'exécution de l'application.

  • Surveillance des threads d'application

  • Analyse des allocations de mémoire aux différentes applications.

  • Thread dumps - très pratique en cas de blocage et de conditions de course.

  • Heap dumps - très pratique pour analyser l'allocation de mémoire de tas.

Configuration

Dans cette section, nous allons apprendre les étapes effectuées pour configurer VisualVM. Les étapes sont les suivantes -

  • Téléchargez-le ici .

  • Extrayez le fichier zip.

  • Accédez au fichier etc / visualvm.conf et ajoutez la ligne suivante dans ce fichier -

visualvm_jdkhome=<path of JDK>
  • Si votre JDK est installé dans le C:\Program Files\Java\jdk-9.0.1 répertoire alors il devrait ressembler à ceci -

visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"

Application de surveillance

Voyons maintenant comment surveiller l'application. Considérez les étapes suivantes pour comprendre la même chose -

  • Double-cliquez sur le fichier visualvm.exe.
  • Sélectionnez l'application dans le volet gauche.
  • Sélectionnez l'onglet moniteur.

Vous serez dirigé vers une fenêtre où vous obtiendrez les détails sur le processeur, le tas, les classes et les threads. Pour être précis avec l'utilisation, passez la souris sur n'importe quel graphique. Nous pouvons voir l'utilisation de Heap dans la capture d'écran ci-dessus.

Informations sur les threads

L'application Java peut contenir plusieurs threads d'exécution. Pour en savoir plus sur les threads, sélectionnez l'onglet Threads d'une application particulière. Il donnera diverses statistiques sur les threads comme le nombre de threads en direct et les threads de démon. Les différents états des threads sont En cours d'exécution, En veille, En attente, Parquer et Surveiller.

Application d'échantillonnage

VisualVM prend en charge le processeur, l'échantillonnage de la mémoire et la détection des fuites de mémoire. Pour un exemple d'application, sélectionnez l'application et choisissez l'onglet exemple -

Échantillonnage CPU

Pour l'échantillonnage du CPU, cliquez sur le bouton CPU comme indiqué dans la capture d'écran suivante -

Profilage de la mémoire

Pour le profilage de la mémoire, cliquez sur le bouton Mémoire comme indiqué dans la capture d'écran suivante -

Fuites de mémoire

Une fuite de mémoire se produit lorsqu'une application, lors de l'exécution, remplit lentement le tas d'objets qui ne sont pas automatiquement supprimés par le programme.

Si un objet non utilisé par le programme n'est pas supprimé, il reste en mémoire et le GC ne peut pas récupérer son espace. Si le nombre d'octets et le nombre d'instances de votre application augmentaient constamment et de manière significative dans votre programme au point d'utiliser tout l'espace, cela peut être le signe d'une fuite de mémoire.

Application de profilage

Dans cette section, nous allons apprendre comment profiler une application. Pour profiler une application, sélectionnez l'application dans le volet gauche et cliquez sur l'onglet profil -

Profilage du processeur

Pour effectuer le profilage du CPU, cliquez sur le bouton CPU comme indiqué dans la capture d'écran ci-dessous -

Profilage de la mémoire

Pour effectuer le profilage du CPU, cliquez sur le bouton CPU comme indiqué dans la capture d'écran ci-dessous -