Drilldown in VisualVM

9

Ich habe gerade Java 1.6_07 installiert, damit ich versuchen konnte, mit VisualVM zu profilieren. Es sagt mir, dass meine App 60% ihrer Zeit in sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run

ausgibt

Wie finde ich heraus, was es in dieser Zeit gemacht hat? Wie viel Zeit war es, auf etwas zu warten, um es zu nennen oder etwas anderes zu tun? Was hat es gerufen und was hat es gerufen? Ich kann einfach keine Möglichkeit finden, tiefere Ebenen wie Quantify oder den Perl-Profiler zu durchforsten.

    
Paul Tomblin 12.09.2008, 12:57
quelle

4 Antworten

5

Ich habe keine Erfahrung mit VisualVM - aber JRockits Profiler liefert diese Informationen; Sie können es stattdessen verwenden.

Update: Eine Frage mit einer Liste von Java-Profilern kann gefunden werden hier , für Benutzer mit genügend Wiederholungen, um gelöschte Fragen anzuzeigen.

    
Charles Duffy 09.10.2008, 12:25
quelle
3

Verwendet Ihre App RMI über TCP? Wenn nicht, ist es möglich, dass es sich um einen Heisenbug handelt, verursacht durch die Instrumentierung der VM? Ich nehme an, VisualVM muss RMI-Aufrufe verwenden, um herauszufinden, was in der JVM vor sich geht ....

    
Tim Howland 12.09.2008 14:25
quelle
1

Ich habe begonnen, das neue VisualVM 1.2 zu verwenden. Es ermöglicht Profiling von CPU und Drilldown mit einem Call Graph. Probieren Sie es aus.

    
Yuval F 26.10.2009 10:44
quelle
1

Unter 1.3.2 sehe ich auch, dass dies der gemeldete Hangup ist, den ich treffe. Wenn Sie in 1.3.2 einen Thread-Dump ausführen und nach diesem Anruf suchen, können Sie sehen, wo er in der Aufrufkette für diesen Thread landet. Nicht sicher, ob Yuval F sich auf dieses oder etwas anderes bezogen hat. Schauen Sie sich die Anrufkette an, um zu sehen, was sie anruft und so weiter, schauen Sie nach unten, um zu sehen, wie sie angerufen wird und so weiter.

    
CodeboyUp 17.05.2011 21:18
quelle

Tags und Links