Maison >Opération et maintenance >Sécurité >Comment utiliser les outils de surveillance et d'analyse JVM dans UAVStack
En tant que pile technologique de service intelligente d'AllInOne, UAVStack fournit une fonction d'échantillonnage de données de surveillance très complète et prend en charge la surveillance des données et l'alerte précoce. Récemment, nous avons intégré les fonctions originales de collecte et d'affichage des données, ajouté des fonctions d'analyse JVM et lancé un outil de surveillance et d'analyse JVM plus facile à utiliser.
Les développeurs qui connaissent JDK savent que JDK lui-même fournit un ensemble d'outils d'analyse JVM, notamment jinfo, jmap, jstack, etc. Les utilisateurs peuvent facilement obtenir des informations sur la pile mémoire JVM, l'allocation d'objets mémoire et des informations de base sur les paramètres de démarrage JVM via la ligne de commande. Cependant, ces outils doivent être exécutés dans un environnement de ligne de commande et, dans un environnement de production, ils doivent être transmis via l'hôte bastion.
Certains bons outils d'analyse JVM dans la communauté open source peuvent également fournir des fonctions telles que l'obtention d'informations JVM de base, le traçage de piles et l'obtention d'informations sur la mémoire, mais ils nécessitent également la prise en charge de la CLI de ligne de commande.
L'outil de surveillance et d'analyse JVM lancé par UAVStack fournit une méthode d'affichage basée sur des pages pour afficher graphiquement les données de surveillance collectées ; il fournit également des fonctions telles que l'acquisition des paramètres JVM de base, le vidage de la mémoire, l'analyse des threads, l'échantillonnage d'allocation de mémoire et le point chaud. analyse de la méthode.
L'outil de surveillance et d'analyse JVM est basé sur l'architecture existante d'UAVStack et est divisé en framework d'amélioration front-end, back-end et middleware (MOF). Parmi eux :
Le front-end est responsable de l'affichage des données et de l'envoi des instructions d'exécution de l'utilisateur en arrière-plan ;
L'arrière-plan est responsable de l'émission des instructions, de la réponse aux requêtes des utilisateurs et du traitement des données collectées ;
Le cadre d'amélioration du middleware (MOF) est responsable de recevoir les instructions émises par l'arrière-plan, d'exécuter les instructions et de renvoyer les données ou d'écrire les données dans un fichier, puis de télécharger les données via la fonction de collecte de fichiers fournie par UAV. 2. Technologies clés
3.2 Résumé JVM
3.3 Analyse des threads
3.4 Memory Dump
3.5 Analyse du processeur
Le temps d'exécution du thread fait référence au temps d'activité du thread pendant la période d'échantillonnage. Les résultats de la requête sont triés en fonction de la durée totale d'activité du thread, et les informations sur le nom du thread et le temps d'exécution du thread sont également fournies, afin que les utilisateurs puissent juger de l'état d'exécution de l'application.
L'échantillonnage de points chauds de méthode compte le temps d'exécution de toutes les méthodes et fournit des informations sur le nom de classe et le nom de la méthode. Parmi eux, le temps d'auto-exécution d'une méthode n'inclut pas le temps d'exécution de la méthode appelant d'autres méthodes. Les résultats de la requête sont triés par ordre décroissant en fonction du temps d'auto-exécution de la méthode. Les utilisateurs peuvent visualiser les méthodes d'exécution les plus longues dans l'application actuelle pour déterminer si l'application est anormale et nécessite une optimisation.
L'analyse de la mémoire est basée sur une analyse d'échantillonnage statistique des threads et des tas. Elle fournit principalement deux fonctions : l'allocation de mémoire de chaque thread et les détails d'allocation de tas.
L'allocation de mémoire des threads fournit des informations telles que la taille de l'allocation de mémoire et le nom du thread de chaque thread, classés par ordre décroissant en fonction de la taille de l'allocation de mémoire. Les utilisateurs peuvent visualiser les threads occupant actuellement une grande quantité de mémoire.
L'allocation dans le tas fournit le nombre d'instances allouées de chaque classe dans le tas et la mémoire du tas occupée, classées par ordre décroissant en fonction de la taille de la mémoire du tas. Les utilisateurs peuvent utiliser cette fonction comme un simple outil de vidage et d'analyse pour analyser rapidement l'allocation de mémoire et découvrir les problèmes d'allocation de mémoire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!