2014-06-05 11 views
12

System Profiler, wie DTrace und Linux perf_events, sind in der Lage, Profile von der JVM zu stapeln. Nun, Symbole beiseite (das ist ein anderes Problem), beide DTrace und perf_events sammeln viele Stapel, die nur 1 Frame sind. Dies sind unvollständige, unvollständige Stapel.Wie deaktiviere ich Java-Stack-Frame-Optimierungen oder Profilstacks mithilfe von Systemprofilern?

Ich habe versucht, DTrace jstack() und Linux perf_events mit Frame-Pointer und Zwerg Stack Abwickeln.

Ich glaube, das ist wegen Hotspot-Compiling optimierte Frames. Gibt es eine Möglichkeit, diese Optimierung zu deaktivieren, so dass Standard-System-Profiler (wie Solaris DTrace und Linux Perf) funktionieren?

Ich habe bereits versucht, die folgenden Optionen: -XX: + DeoptimizeRandom -XX: MaxInlineSize = 0 -XX: -OmitStackTraceInFastThrow -XX: + UnlockDiagnosticVMOptions -XX: + ShowHiddenFrames

Antwort