Existe-t-il un profileur de console pour Java?


Existe-t-il un profileur de type gprof pour Java qui peut être exécuté à partir du terminal sous Linux? Tous les outils que j'ai trouvés sont des programmes GUI et je dois l'exécuter à partir du terminal.

Author: MRalwasser, 2012-06-20

5 answers

La JVM a un profileur intégré appelé HPROF. Vous pouvez l'activer sur la ligne de commande comme ceci:

java -agentlib:hprof=file=hprof.txt,cpu=samples MyClass

Cela videra les informations de profil dans un fichier texte à la fin du programme. En plus de profiler l'utilisation du PROCESSEUR, il peut également suivre l'utilisation du tas.

 8
Author: ataylor, 2012-06-20 16:47:45

L'outil open-source jvmtop contient un profileur de terminal et pourrait valoir le coup d'oeil:

JvmTop 0.7.0 alpha - 15:16:34,  amd64,  8 cpus, Linux 2.6.32-27, load avg 0.41
 http://code.google.com/p/jvmtop

 Profiling PID 24015: org.apache.catalina.startup.Bootstrap

  36.16% (    57.57s) hudson.model.AbstractBuild.calcChangeSet()
  30.36% (    48.33s) hudson.scm.SubversionChangeLogParser.parse()
   7.14% (    11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
   6.25% (     9.95s) net.sf.json.JSONObject.write()
   3.13% (     4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()
 7
Author: MRalwasser, 2015-11-20 18:30:01

JXInsight/OpenCore a des plugins de reporting term/shell (top, queues, piles,...) qui produira ses données de mesure et de métriques à intervalles réguliers. Il est également possible d'accéder à ces informations en utilisant l'API ouverte qui permet l'inspection du modèle en temps réel dans la JVM ou hors ligne à l'aide d'un handle de fichier instantané. Les deux sont pris en charge via l'API Plugin dont il comment le haut, files d'attente,... ceux du travail.

Http://www.jinspired.com/products/opencore (commercial)

Est il y a une raison technique que vous ne pouvez pas utiliser une interface graphique? Est-ce juste une préférence motivée par une habitude de flux de travail? Sinon, vous pouvez toujours essayer notre édition Java JXInsight / Opus GRATUITE - une solution de mesure des performances de latence au niveau du code très efficace et évolutive pour identifier rapidement les points chauds dans les applications Java et JRuby.

Http://www.jinspired.com/products/opus

Remarque: Je suis l'architecte produit des deux produits.

 3
Author: William Louth, 2012-06-22 12:51:56
 2
Author: Karthik Kumar Viswanathan, 2012-06-20 16:17:40

Si vous le souhaitez pour le profilage et la surveillance. Vous pouvez utiliser Jvisualvm.

Depuis le site de l'application:

DESCRIPTION Java VisualVM est une interface utilisateur graphique intuitive qui fournit des informations détaillées sur les applications basées sur la technologie Java (applications Java) lorsqu'elles s'exécutent sur une machine virtuelle Java donnée (JVM*). Le nom Java VisualVM vient du fait que Java VisualVM fournit visuellement des informations sur le logiciel JVM.

Java VisualVM combine plusieurs utilitaires de surveillance, de dépannage et de profilage en un seul outil. Par exemple, la plupart des fonctionnalités offertes par les outils autonomes jmap, jinfo, jstat et jstack ont été intégrées dans Java VisualVM. D'autres fonctionnalités, telles que celles offertes par l'outil JConsole, peuvent être ajoutés en option plugins.

MODIFIER: Comme vous voulez une approche terminale.Reportez-vous à ce lien Déclenchant un Javadump . Il décrit la création de java dump.

 0
Author: Akhil Dev, 2012-06-20 16:44:37