首页 > 解决方案 > 如何分析 Snap.*trc 文件?

问题描述

我现在正在研究 WebSphere 上的 OOM,我有一个文件Snap.*.trc. 我引用了另一个 SO 问题的评论,如何分析 Websphere core*.dmp 文件和 Snap*.trc 文件?,我创建了Snap.*.trc.fmt文件。

但是,我无法理解这个文件是什么。比如 GC log( native_stderr.log),使用 可以看到垃圾收集器在做什么IBM Pattern Modeling and Analysis Tool(PMAT),但是好像没有分析Snap.*.trc文件的工具。有什么工具可以做到这一点吗?

标签: javaout-of-memorywebsphere

解决方案


通常,Snap*trc文件由支持人员使用,而不是由客户使用。它们包含转储时内存中保存的任何跟踪点数据。它们在某些 OOM 情况下很有用,例如检查是否因耗尽本机内存而发生 OOM。看来您已经弄清楚了如何格式化它们,并且生成的*trc.fmt文本文件只是一组跟踪点,因此它与分析任何跟踪相同(这通常意味着您需要了解代码,因此Snap*trc文件倾向于仅限于支持使用)。您可以在此处找到有关 Snap 文件的更多信息:https ://publib.boulder.ibm.com/httpserv/cookbook/Troubleshooting-Troubleshooting_Java-Troubleshooting_IBM_Java.html#Troubleshooting-Troubleshooting_IBM_Java-Snap_Traces

话虽如此,一般来说,这是我分析OOM的方式:

  1. 查看文件1TISIGINFO中的。javacore*txt这将告诉您它是 Java OOM 还是本机 OOM。
  2. 如果是 Java OOM,则将core*dmp文件加载到IBM Memory Analyzer Tool中。请注意,您引用的另一个问题说您必须jextractcore*dmp文件上运行才能对其进行分析,而最新版本的 Java 不再是这种情况 - 只需将core*dmp文件加载到 IBM MAT 工具中即可。
  3. 如果它是原生 OOM,那么情况会变得更加复杂,因此您可以在此处发回详细信息。

与往常一样,您也可以向 IBM 提出支持案例,他们可以帮助您进行一些分析。


推荐阅读