问题标签 [jvisualvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
53434 浏览

java - 如何使用 visualvm 查找内存泄漏

我怀疑我们的 ActiveMQ 连接桥中存在严重的内存泄漏 - 我们看到典型的内存泄漏模式(应用程序加载正常,如果长时间运行或在短时间内一遍又一遍地重新启动会变慢) . 我查找了查找 Java 内存泄漏的现代最佳实践,许多开发人员似乎正在放弃像 jhat/jmap 这样的传统工具来代替 new(er) jvisualvm

在启动这个工具(并花几个小时阅读它的教程)后,我能够为 CPU 和内存拍摄分析器快照。

我只是在这一点上卡住了 - 我如何分析这些快照以识别泄漏?关于如何使用 jvisualvm 生成快照的文档过多,但关于如何真正理解它们的文档却很少。

提前致谢。

0 投票
1 回答
1138 浏览

windows - 类共享警告不允许我使用 visualVM 在本地 (Windows) 进行分析

当我从 Eclipse Helios 启动我的 java 应用程序时,我在 visualVM 上的本地应用程序列表中看到它。但是,我转到 Profiler 选项卡,无法按 CPU 或内存标准进行分析。

我收到以下消息:“警告!此 JVM 已启用类共享。这可能会在分析应用程序时导致问题,并最终可能导致应用程序崩溃。有关更多信息和解决问题的步骤,请参阅 VisualVM 故障排除指南:https:/ /visualvm.dev.java.net/troubleshooting.html#xshare。”

在我的应用程序的 Eclipse 启动器中,我将 -Xshare:off 添加到 VM_Arguments 中,但没有成功。使用的JDK:jdk 1.6.0_20 环境:Windows 7, 64bit

有什么建议吗?谢谢

0 投票
1 回答
1206 浏览

visualvm - 新的 VisualVM 1.3.4 安装挂在“计算描述”上

我的 jVisualVM 1.7.0_03(来自 JDK 安装)工作正常。我安装了最新的 VisualVM 1.3.4。我启动了它。它打印“计算描述”并启动进度对话框。它已经运行了几分钟。它没有阻塞 UI,但也没有列出任何本地 Java 进程。JDK 中的 jVisualVM 可以毫无问题地执行此操作。我能够在这个新版本中安装插件,但它仍然是“计算描述”。

0 投票
1 回答
786 浏览

java - 如何使用 VisualVM 获取方法的总总时间

我正在尝试测量将访问器内联到函数中的性能提升。

作为内联的结果,方法的自身时间增加(当然)。

我需要测量方法的总时间和调用。在 VisualVM 分析器中列出了总自时间,快照可以给出调用树中每个位置的总时间。我需要测量的是整个应用程序的总总时间。

谢谢

0 投票
2 回答
1433 浏览

spring - 由于自定义异常类,避免通过 JVisualVM 在 JMX 调用中出现 ClassNotFoundException

我们的应用程序通过 JMX 公开了一些方法,我们使用 JVisualVM 调用这些方法。

这通常工作得很好,但有时方法调用会在应用程序内部出现异常而中止。在这种情况下,JVisualVM 不会显示来自异常的错误消息,而是显示错误消息

这是相当无益和令人困惑的;我们希望 JVisualVM 显示真正的错误消息。

到目前为止,我们发现了什么:

JMX 似乎会序列化和反序列化调用期间抛出的任何异常。然而,在我们的例子中,异常是不属于 JDK 的自定义异常。因此,当通过 JVisualVM 调用方法时,JVisualVM 无​​法显示异常,因为由于未知的自定义异常类导致反序列化失败。

现在,作为一种解决方法,我们将通过 JMX 公开的所有方法包装在一个try-catch块中

这是可行的,因为它将任何异常转换为字符串,但看起来相当不优雅和冗长。

  • 是否有一些通用的方法来告诉 JMX 不序列化异常?诸如“始终将异常转换为字符串”之类的东西?
  • 我们使用 Spring 的MBeanExporter。Spring中是否有一种机制来处理这个问题?

编辑

我们知道我们可以配置 JVisualVM 来加载有问题的类。但是,我们希望 JVisualVM 在没有特殊配置的情况下工作。此外,它可能运行一个应用程序代码甚至不可用的系统。

0 投票
1 回答
207870 浏览

java - 如何找到默认的 JMX 端口号?

我正在远程 Windows XP 上的 Java 6 VM 上运行 Java 应用程序,我可以在其上运行 jvisualvm.exe 以自动连接到正在运行的应用程序。

现在我需要从本地计算机连接该应用程序,但我不知道远程计算机的 JMX 端口号。我在哪里可以找到它?或者,我必须使用一些 VM 参数重新启动该应用程序以指定端口号吗?

在阅读了如何在服务器中找到 JMX 端口的问题后,我在远程计算机上执行了命令

但一无所获。

0 投票
1 回答
150 浏览

java - jVisualVM - JIT 活动指标

我刚刚用 jVisualVM 测试了一些 J2EE 容器,但是我在正确解释分数方面遇到了麻烦。我看到 JIT 活动的值通常超过 100%(有时是 800%)。这是什么意思?我读过 JIT 活动是根据处理器数量计算的,但如果是这样,我只有 2 个处理器,并且最多。活动百分比应为 200%。

有什么解释吗?

0 投票
2 回答
3101 浏览

java - jvisualvm - 如何查看具有内存消耗的活动对象

我正在尝试使用 JVisualVM 查看我的应用程序活动对象及其相应的内存计数(可能在包级别)

使用 jstad 连接时如何实现相同的效果

谢谢

0 投票
1 回答
701 浏览

performance - 在 jvisualvm 中获取方法执行时间的细分

我正在使用 jvisualvm 分析 Web 应用程序。我可以看到各种方法需要多长时间,例如 methodA 需要 5 秒......但是,我看不到双击这个方法来查看 5 秒的去向。可以这么说,我可以“向下钻取”。

我如何在 jvisualvm 中实现这一点?

谢谢。

0 投票
2 回答
1961 浏览

java - 如何在 MAT Eclipse 的 OQL 中使用“AND 运算符 (&&)”

我正在对java rmi应用程序进行性能调整,并使用 OQL 执行以下查询:

上面的查询在JVisualVM上成功编译,一些记录后跟此错误:-

结果太多。请细化您的查询。

相同的查询无法在Eclipse-MAT中执行。

之后,&& tpoint.csf!=null从 中删除,它在Eclipse-MATabove query中编译得很好。与 JVisualVM 相比,它花费的时间也非常少,并且可以显示所有记录。

我无法找到&& operator在 Eclipse-MAT 中使用的正确语法。

面对很难为Eclipse-MAT找到好的 OQL 参考,好的参考是值得赞赏的。

提前致谢...