如何禁用Java堆栈帧优化或使用系统分析器的configuration文件堆栈?【JAVA教程】

!
也想出现在这里? 联系我们
信息

如何禁用Java堆栈帧优化或使用系统分析器的configuration文件堆栈?,第1张

概述如何禁用Java堆栈帧优化或使用系统分析器的configuration文件堆栈?

系统分析器(如DTrace和linux perf_events)可以从JVM中分析堆栈跟踪。 现在,除了符号之外(这是另一个问题),DTrace和perf_events都会收集很多只有1帧的堆栈。 这些是部分的,不完整的堆栈。

我已经尝试了DTrace Jstack()和linux的perf_events,同时指定了帧指针和矮栈解压。

我相信这是由于热点编译优化框架。 有没有办法禁用这种优化,以便标准系统configuration文件(如Solaris DTrace和linux perf)的工作?

我已经尝试了以下选项:-XX:+ DeoptimizeRandom -XX:MaxInlinesize = 0 -XX:-OmitStackTraceInFastThrow -XX:+ UnlockDiagnosticVMOptions -XX:+ ShowHIDdenFrames

Dtrace探针说明符错误

了解dtruss的输出

DTrace for linux ustack()无效地址正在运行

我们可以用dtrace来分析每个核心吗?

生产linux系统(RH / CentOS和Debian / Ubuntu)中系统级跟踪的状态是什么?

Ubuntu上的DTrace,怎么样?

ltrace相当于osx?

如何在dtrace中查找参数

如何衡量互斥的争夺?

这是一个JVM问题,最好由BUG描述:

https://BUGs.openjdk.java.net/browse/JDK-6276264

虽然这描述了DTrace Jstack()的问题,我相信相同的优化(使用帧指针作为寄存器)正在打破perf_events。

这可能会在JDK 9中修复。请参阅:

http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2014-June/014842.HTML

感谢热点的开发者回答这个问题。

总结

以上是内存溢出为你收集整理的如何禁用Java堆栈帧优化或使用系统分析器的configuration文件堆栈?全部内容,希望文章能够帮你解决如何禁用Java堆栈帧优化或使用系统分析器的configuration文件堆栈?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞146 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容