2010-07-16 4 views
6

Je dois profiler à distance une machine virtuelle Java pour l'utilisation du processeur, les statistiques d'E/S et le nombre de descripteurs/gestionnaires de fichiers et prendre en charge les plates-formes * NIX et Windows. J'ai essayé d'utiliser l'API SIGAR, qui résume très bien les plates-formes en utilisant une implémentation de code natif sous-jacente, mais qui ne supporte pas le profilage à distance. Y a-t-il une autre API qui peut le faire? Sinon, est-il possible d'étendre le cadre SIGAR pour la surveillance JVM à distance? Tout indice sur où regarder serait utile. Merci d'avance!Profilage à distance d'une machine virtuelle Java

Répondre

2

AFAIK, la machine virtuelle Java en général peut être configuré pour permettre le profilage à distance.

Eclipse TPTP a le profilage et les capacités de création de graphiques même belles, ils mentionnent dans leur réseau Data Collection Subsystem

Le JVisualVM, livré avec le JDK, a également une section à distance.

+0

Le TPTP n'est plus maintenu. = ( – Jolta

1

NetBeans profiler fournit toutes sortes de profils, y compris les sessions à distance. Voir cette page de documentation pour démarrer le débogage à distance:

Attaching Profiler to Local or Remote JVM

+0

Cet utilitaire ne me permet pas de profiler les paramètres que j'ai indiqués. En particulier, il ne me donne pas la possibilité de mesurer les statistiques io ou le compte fd. –

+0

Mon objection à profileur NetBeans est que je profile un processus à distance (méthode trace) et il fait un bon travail, mais il ne me laisse pas enregistrer le profil dans un fichier afin qu'il puisse être examiné plus tard ou par d'autres. Vraiment la frustration et l'omission flagrante. Il y a peut-être un moyen de le faire mais j'ai vérifié tout ce que je peux. – clearlight

1

Vous pouvez essayer JProfiler. Bien que son payé, vous pouvez d'abord essayer la version d'évaluation

0

Visual VM a été l'un des meilleurs profils et est open source. Je l'ai utilisé pour le profilage JVM et il est livré avec différents plugins/extensions pour voir différents rapports.

J'ai également essayé d'intégrer les serveurs WebSphere/Tomcat/Liferay et Glassfish. En fait, toute JVM ayant la capacité de gestion à distance JMX activée serait identifiée par la machine virtuelle Visual.

Par défaut, Visual VM identifie la JVM Sun mais, par ex. il ne pouvait pas reconnaître IBM JVM. Pour toutes les autres machines JVM non Sun, vous devez activer la fonction de gestion à distance JMX afin de vous connecter à la machine virtuelle Java à l'aide de Visual VM.

+0

Veuillez ne pas inclure de «signatures» dans vos messages. Votre boîte utilisateur est automatiquement affichée pour vous. –

Questions connexes