- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道jmap是用来创建堆转储的,同样可以用Jhat来分析。
jVisualVM 也可用于分析堆转储(并且可以执行更多任务,例如分析等)。
但是使用 jHat 和 visualVM 分析堆转储之间有什么区别(如果使用 Web 则除外,其次是桌面)。 Sun 提供了哪些不同的工具,哪一个更好?
PS:我对这些工具的了解有限,因为我使用的分析/分析工具有限,例如 JProbe、Java 堆转储分析器等。如果我的理解有误,请指正。
最佳答案
jmap 和jhat 是具有命令行界面的核心工具。 VisualVM 是一个可视化工作台,集成了命令行工具,无需通过命令行选项即可更轻松地管理事物。如果您知道并且可以自由自在地使用命令行工具,那么就使用它们吧。 VisualVM 没有做任何额外的事情,只是提供了一个良好的可视化界面以提供更好的用户体验。我相信它在内部使用 jmap/jhat。
区别类似于图形调试器和命令行调试器之间的区别。在视觉模式下工作通常更容易。
关于java - jmap/jhat 与 jVisualVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5978859/
我有一个内存转储文件,JHAT 给出了以下消息,我无法分析任何内容(因为没有显示任何数据。 Resolving 0 objects... WARNING: hprof file does not
如何在 jhat OQL where 子句中执行连词 [AND]? 我想这样做: select s from sun.security.x509.X500Name s where s.canonic
谁能举例说明如何在 select 语句中使用 heap.heapForEachClass?如果您可以提供一些包含不同查询示例的链接(当然除了 oqlhelp 页面中的链接 :) ) 最佳答案 我不认为
我在堆转储上运行了 jhat,它生成了报告。我如何使用报告来分析堆。除了实例计数之外,我无法完全理解。是否有任何引用或案例研究。简而言之,我需要继续前进,我该怎么做? 还有什么是对象查询语言。 最佳答
1. 使用背景 在前面jstat命令的介绍中,我们知道了可以用它来轻松的了解到线上系统中JVM的各种运行情况和指标。 但是如果有时候发现jvm中新增对象的速度很快,想要知道是什么对象新增这么快;或
我知道jmap是用来创建堆转储的,同样可以用Jhat来分析。 jVisualVM 也可用于分析堆转储(并且可以执行更多任务,例如分析等)。 但是使用 jHat 和 visualVM 分析堆转储之间有什
我正在尝试分析从遇到内存问题的 Java 进程中获取的堆转储。转储是使用 jmap 获取的。我在转储文件上使用 jhat - 我得到了 java.io.IOException:无法识别的魔数(Magi
我有一个 64 位 JVM 使用 -XX:-HeapDumpOnOutOfMemoryError 选项转储的 6.5GB Hprof 文件。我把它放在一台 16GB 的 64 位机器上,并试图将它放入
为什么每个对象都被标记为新的,而不仅仅是第二个快照中但不在我的基线快照中的对象?在网上查看时,我看到一些建议我需要使用 hprof 而不是 jmap 来制作我的内存转储,但 hprof 似乎以完全相同
我很想知道为什么 visualvm OQL 对以下语句有问题: select filter(heap.objects("java.util.HashMap"), isTrue(it)); functi
我们的 EA 中出现内存错误,我们使用 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/some/dir 在 OOM 时转储堆。 我
我经常展示 jhat,jps和 jstack 工具集,供 Linux 和 Mac 上的开发人员使用。但是,开发人员最近表示,如果有问题的 Java 应用程序作为 Windows Service 运行,
这是我第一个发布的问题。我有一个相当复杂的 OQL 查询,其中列出了包中加载的类的静态字段。我在针对 Java 1.6.0_24 的“jhat”运行查询时遇到的一个问题是“unique”函数无法按预期
我是一名优秀的程序员,十分优秀!