VisualVM和Coldfusion 8:为什么没有内存采样?

时间:2012-04-20 04:42:22

标签: coldfusion coldfusion-8 visualvm jrun java-6

我们正在尝试使用VisualVM来追踪CF8中的一些内存泄漏,然而,无法让该工具100%工作。基本上,除了内存采样之外,一切都会出现。说“不支持JVM”。

然而,所有其他功能都有效(我们可以进行CPU采样,而不是内存)。发现这种奇怪的是我们可以做除了内存之外的所有事情,所以我想知道是否我们需要指定另一个JVM参数来允许它?

其他一些信息:

  1. 我们通过127.0.0.1或localhost在本地连接。
  2. 我安装了Visual GC插件,但它也无法连接。
  3. VisualVM和JRUN / CF8都使用相同的Java版本(1.6.0_31),但是,它们不是从同一位置拉出的(可能这很重要)。 VisualVM使用已安装的JDK,而JURN / CF8仅使用我们本地复制到CF8安装文件夹的二进制文件。
  4. 安装了另一个显示JVM属性的插件,它说JVM不是“可附加的”。不知道这意味着什么,但我只是想提一下。
  5. 对此的任何帮助将不胜感激。如果我们能够获得内存采样,我认为我们可以掌握最近困扰我们的性能问题。提前谢谢!

    编辑:

    另外,刚刚检查过,JRUN正在“管理员”下启动,而我正在另一个用户下启动VisualVM。也许这是相关的?

1 个答案:

答案 0 :(得分:3)

是的,您在不同用户下运行VisualVM是相关的。内存采样使用Attach API,仅当您将受监视的应用程序和VisualVM作为同一用户运行时才有效。这也是JVM属性报告您的应用程序无法连接的原因。如果您将VisualVM作为“管理员”运行,它将自动检测您的Coldfusion 8应用程序,并且内存采样器将起作用。