9
votes

Comment utiliser Hotspot Sondes dans DTrace sur Mac OS X Leopard?

Mon système léopard a Dtrace intégré. J'ai également installé Java 6, à l'aide du programme d'installation fourni par Apple:

$ sudo dtrace -l | grep spot
$


0 commentaires

3 Réponses :


0
votes

Êtes-vous sûr que cela s'applique également à l'Apple JVM? Alors que les crochets DTRACE sont mentionnés dans le document sur JDK 6, vous pouvez également trouver sur Options non standard Java Hotspot VM (accent ajouté):

-xx: -extendedTracePobes Activez les sondes DTRACIP sur les performances.
(Introduit dans 6. pertinent pour Solaris uniquement. )

Pas un bon signe si cela est spécifique à la plate-forme. Afaik Apple construit son propre JVM sur mesure.


1 commentaires

Bon point. On dirait vraiment que Sun's JDK prend en charge Dtrace. OpenJDK a une assistance planifiée mais non encore mise en œuvre semble. Probablement la même chose pour la mise en œuvre d'Apple.



1
votes

Je couronne le léopard des neiges avec Java 1.6, et je peux voir les sondes hotspot:

... xxx

... < / p>


2 commentaires

Hum ... intéressant. Je gère les mêmes configurations, mais pour moi, les sondes ne s'affichent pas. Quelle ligne de commande avez-vous utilisée? Aussi "sudo dtrace -l | spot grep"?


'sudo dtrace -l | Hotspot Grep 'est-ce que ça.



5
votes

"Hmm, intéressant. J'exécute les mêmes configurations, mais pour moi, les sondes ne s'affichent pas. Quelle ligne de commande avez-vous utilisée? Aussi" sudo dtrace -l | spot grep "?"

  • Une seule vérification croisée. Vous devriez avoir une application Java en cours d'exécution à l'époque où vous émettez «sudo dtrace -l | grep spot". Seulement alors les sondes seront répertoriées.

2 commentaires

Non, je n'ai pas eu Java en cours d'exécution. En effet, ça marche maintenant. Merci!


Les sondes sont nommées comme hotspot_jni5867 , ce qui signifie que l'ID de processus est inclus dans le nom de la sonde. Les sondes sont créées de manière dynamique lorsqu'un processus est démarré.