如何分析Snap。* trc文件?

时间:2018-06-26 10:53:01

标签: java out-of-memory websphere

我现在正在研究WebSphere上的OOM,我得到了文件Snap.*.trc。我引用了另一个SO问题的注释How to analyse Websphere core*.dmp file and Snap*.trc files?,并创建了Snap.*.trc.fmt文件。

但是,我不知道该文件是什么。例如,GC日志(native_stderr.log),我可以通过使用IBM Pattern Modeling and Analysis Tool(PMAT)看到垃圾回收器在做什么,但是似乎没有工具可以分析Snap.*.trc文件。有什么工具吗?

2 个答案:

答案 0 :(得分:1)

通常,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中。请注意,您提到的另一个问题是您必须在jextract文件上运行core*dmp才能对其进行分析,而Java的最新版本不再是这种情况-只需加载core*dmp文件放入IBM MAT工具。
  3. 如果它是本机OOM,那么情况会更加复杂,因此您可以在此处发布详细信息。

与往常一样,您还可以向IBM开立一个支持案例,他们可以为您提供一些这种分析。

答案 1 :(得分:1)

您始终可以使用GMCV Health Center。通过eclipse market位置下载并安装。它能够读取trc个文件。另请参见用户guide here。它可以为您提供以下方面的信息:

  • 类:有关正在加载的类的信息
  • CPU:应用程序及其运行所在系统的处理器使用率
  • 环境:受监控者的配置和系统的详细信息 应用
  • 垃圾收集:有关Java堆和暂停时间的信息
  • I / O:有关发生的I / O活动的信息
  • 锁定:有关膨胀锁争用的信息
  • 方法跟踪:有关随着时间的流逝使用方法的信息
  • 本地内存:有关本地内存使用情况的信息
  • 分析:提供Java方法(包括调用路径)的采样配置文件
  • 线程:有关受监视的JVM的活动线程的信息