我们正在尝试使用VisualVM来追踪CF8中的一些内存泄漏,然而,无法让该工具100%工作。基本上,除了内存采样之外,一切都会出现。说“不支持JVM”。
然而,所有其他功能都有效(我们可以进行CPU采样,而不是内存)。发现这种奇怪的是我们可以做除了内存之外的所有事情,所以我想知道是否我们需要指定另一个JVM参数来允许它?
其他一些信息:
对此的任何帮助将不胜感激。如果我们能够获得内存采样,我认为我们可以掌握最近困扰我们的性能问题。提前谢谢!
编辑:
另外,刚刚检查过,JRUN正在“管理员”下启动,而我正在另一个用户下启动VisualVM。也许这是相关的?
答案 0 :(得分:3)
是的,您在不同用户下运行VisualVM是相关的。内存采样使用Attach API,仅当您将受监视的应用程序和VisualVM作为同一用户运行时才有效。这也是JVM属性报告您的应用程序无法连接的原因。如果您将VisualVM作为“管理员”运行,它将自动检测您的Coldfusion 8应用程序,并且内存采样器将起作用。