问题标签 [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.
java - 如何使用 visualvm 查找内存泄漏
我怀疑我们的 ActiveMQ 连接桥中存在严重的内存泄漏 - 我们看到典型的内存泄漏模式(应用程序加载正常,如果长时间运行或在短时间内一遍又一遍地重新启动会变慢) . 我查找了查找 Java 内存泄漏的现代最佳实践,许多开发人员似乎正在放弃像 jhat/jmap 这样的传统工具来代替 new(er) jvisualvm
。
在启动这个工具(并花几个小时阅读它的教程)后,我能够为 CPU 和内存拍摄分析器快照。
我只是在这一点上卡住了 - 我如何分析这些快照以识别泄漏?关于如何使用 jvisualvm 生成快照的文档过多,但关于如何真正理解它们的文档却很少。
提前致谢。
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
有什么建议吗?谢谢
visualvm - 新的 VisualVM 1.3.4 安装挂在“计算描述”上
我的 jVisualVM 1.7.0_03(来自 JDK 安装)工作正常。我安装了最新的 VisualVM 1.3.4。我启动了它。它打印“计算描述”并启动进度对话框。它已经运行了几分钟。它没有阻塞 UI,但也没有列出任何本地 Java 进程。JDK 中的 jVisualVM 可以毫无问题地执行此操作。我能够在这个新版本中安装插件,但它仍然是“计算描述”。
java - 如何使用 VisualVM 获取方法的总总时间
我正在尝试测量将访问器内联到函数中的性能提升。
作为内联的结果,方法的自身时间增加(当然)。
我需要测量方法的总时间和调用。在 VisualVM 分析器中列出了总自时间,快照可以给出调用树中每个位置的总时间。我需要测量的是整个应用程序的总总时间。
谢谢
spring - 由于自定义异常类,避免通过 JVisualVM 在 JMX 调用中出现 ClassNotFoundException
我们的应用程序通过 JMX 公开了一些方法,我们使用 JVisualVM 调用这些方法。
这通常工作得很好,但有时方法调用会在应用程序内部出现异常而中止。在这种情况下,JVisualVM 不会显示来自异常的错误消息,而是显示错误消息
这是相当无益和令人困惑的;我们希望 JVisualVM 显示真正的错误消息。
到目前为止,我们发现了什么:
JMX 似乎会序列化和反序列化调用期间抛出的任何异常。然而,在我们的例子中,异常是不属于 JDK 的自定义异常。因此,当通过 JVisualVM 调用方法时,JVisualVM 无法显示异常,因为由于未知的自定义异常类导致反序列化失败。
现在,作为一种解决方法,我们将通过 JMX 公开的所有方法包装在一个try-catch
块中
这是可行的,因为它将任何异常转换为字符串,但看起来相当不优雅和冗长。
- 是否有一些通用的方法来告诉 JMX 不序列化异常?诸如“始终将异常转换为字符串”之类的东西?
- 我们使用 Spring 的MBeanExporter。Spring中是否有一种机制来处理这个问题?
编辑
我们知道我们可以配置 JVisualVM 来加载有问题的类。但是,我们希望 JVisualVM 在没有特殊配置的情况下工作。此外,它可能运行一个应用程序代码甚至不可用的系统。
java - 如何找到默认的 JMX 端口号?
我正在远程 Windows XP 上的 Java 6 VM 上运行 Java 应用程序,我可以在其上运行 jvisualvm.exe 以自动连接到正在运行的应用程序。
现在我需要从本地计算机连接该应用程序,但我不知道远程计算机的 JMX 端口号。我在哪里可以找到它?或者,我必须使用一些 VM 参数重新启动该应用程序以指定端口号吗?
在阅读了如何在服务器中找到 JMX 端口的问题后,我在远程计算机上执行了命令
但一无所获。
java - jVisualVM - JIT 活动指标
我刚刚用 jVisualVM 测试了一些 J2EE 容器,但是我在正确解释分数方面遇到了麻烦。我看到 JIT 活动的值通常超过 100%(有时是 800%)。这是什么意思?我读过 JIT 活动是根据处理器数量计算的,但如果是这样,我只有 2 个处理器,并且最多。活动百分比应为 200%。
有什么解释吗?
java - jvisualvm - 如何查看具有内存消耗的活动对象
我正在尝试使用 JVisualVM 查看我的应用程序活动对象及其相应的内存计数(可能在包级别)
使用 jstad 连接时如何实现相同的效果
谢谢
performance - 在 jvisualvm 中获取方法执行时间的细分
我正在使用 jvisualvm 分析 Web 应用程序。我可以看到各种方法需要多长时间,例如 methodA 需要 5 秒......但是,我看不到双击这个方法来查看 5 秒的去向。可以这么说,我可以“向下钻取”。
我如何在 jvisualvm 中实现这一点?
谢谢。
java - 如何在 MAT Eclipse 的 OQL 中使用“AND 运算符 (&&)”
我正在对java rmi应用程序进行性能调整,并使用 OQL 执行以下查询:
上面的查询在JVisualVM上成功编译,一些记录后跟此错误:-
结果太多。请细化您的查询。
相同的查询无法在Eclipse-MAT中执行。
之后,&& tpoint.csf!=null
从 中删除,它在Eclipse-MATabove query
中编译得很好。与 JVisualVM 相比,它花费的时间也非常少,并且可以显示所有记录。
我无法找到&& operator
在 Eclipse-MAT 中使用的正确语法。
面对很难为Eclipse-MAT找到好的 OQL 参考,好的参考是值得赞赏的。
提前致谢...