如何使用 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 重新启动时丢失。