如何使用 AppDynamics 捕获堆转储?
How to capture Heap Dumps with AppDynamics?
我们如何借助 appdynamics 捕获堆转储?
据我从他们的文档中了解到,AppD 没有办法捕获堆转储。他们建议在这种情况下使用内存泄漏检测功能。
另一方面,我知道我们可以获得线程转储,这在某些情况下可能会有帮助(代理 -> 请求代理日志文件)
可以通过以下方法为 JRockit JVM 获取 Appdynamics 中的堆转储(注意:这不适用于 IBM JVM)
- Select 您在 appdynamics 中的节点必须对其进行堆转储。
- Select 选项卡 "JMX"
- 转到"MBean Browser"
- 从左侧窗格转到 "com.sun.management" >> "HotSpotDiagnostic"
- 在 dumpHeap 操作下右侧 window 单击雷电标志以调用操作。
- 将打开一个新对话框,您必须在其中填写 p0 和 p1 文本框,如下所示
p0 – 生成堆转储的路径(/path/dump.hprof)
p1 - True – 堆转储前的 GC; False - 堆转储前没有 GC
- 点击"invoke"
注意:如果您希望在内存不足的情况下生成堆转储,请提供
p0 : HeapDumpOnOutOfMemoryError
另请注意,这些值将在 JVM 重新启动时丢失。
我们如何借助 appdynamics 捕获堆转储?
据我从他们的文档中了解到,AppD 没有办法捕获堆转储。他们建议在这种情况下使用内存泄漏检测功能。 另一方面,我知道我们可以获得线程转储,这在某些情况下可能会有帮助(代理 -> 请求代理日志文件)
可以通过以下方法为 JRockit JVM 获取 Appdynamics 中的堆转储(注意:这不适用于 IBM JVM)
- Select 您在 appdynamics 中的节点必须对其进行堆转储。
- Select 选项卡 "JMX"
- 转到"MBean Browser"
- 从左侧窗格转到 "com.sun.management" >> "HotSpotDiagnostic"
- 在 dumpHeap 操作下右侧 window 单击雷电标志以调用操作。
- 将打开一个新对话框,您必须在其中填写 p0 和 p1 文本框,如下所示
p0 – 生成堆转储的路径(/path/dump.hprof)
p1 - True – 堆转储前的 GC; False - 堆转储前没有 GC
- 点击"invoke"
注意:如果您希望在内存不足的情况下生成堆转储,请提供
p0 : HeapDumpOnOutOfMemoryError
另请注意,这些值将在 JVM 重新启动时丢失。