Java 任务控制显示 "Flightrecorder is not supported for non hotspot jvms"

标签 java jmc

当我试图通过运行 Java Mission Control (jmc) 来分析我的本地 Java 应用程序时,我无法连接到该应用程序。它在左侧 Pane 中显示的所有 JVM 进程的描述中显示“非热点 JVM 不支持 Flightrecorder”。 我的环境:Windows 7,Java 8u25

因为我无法在网上的任何地方找到这个问题的解决方案,所以我想与将来可能遇到同样问题的其他人(以及我 future 的自己)分享我幸运地发现的解决方案。

最佳答案

我在这里发布解决方案和导致解决方案的观察结果。

当我(碰巧)尝试运行 jvisualvm 时,它显示错误“无法监视本地 Java 应用程序”。在 http://visualvm.java.net/troubleshooting.html在标题为 “无法监视本地应用程序(启动时出现错误对话框)” 的部分中,我发现在 Windows 系统上,如果帐户名称包含大写字母,则一个确切的文件夹名称可能会出现问题。

解决方案是更改文件夹 %TMP%\hsperfdata_username 的名称,使大写与我的用户名相对应('e' 而不是 <文件夹名称中的 em>'E')。 进行此更改后,jmcjvisualvm 又开始工作了。

注意:您需要在更改文件夹名称之前终止所有当前正在运行的 Java 应用程序。

关于Java 任务控制显示 "Flightrecorder is not supported for non hotspot jvms",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27160382/

相关文章:

java - 有没有办法在 Eclipse 中对括号进行颜色编码?

java - Mockito 参数匹配器和 hibernate 延迟初始化

java - 新 TLAB 中的分配与 TLAB 之外的分配

jms - 使用 bitronix 阻塞线程

java - JIT 去优化,原因 ="constraint"。为什么 JIT 会去优化方法?

java - 标准 ORDER BY 日期不起作用?

java - 如何避免使用 Java Flight Recorder 截断堆栈跟踪

Java Flight Control - 保留最后 N 分钟记录数据

java - AssertJ:断言所有 Assert 对象都被断言

java - 如何在 Java Mission Control 中启用对象类型 + 分配堆栈跟踪 + GC 根路径