【问题标题】:How to check memory leak of java application in a core dump file?如何在核心转储文件中检查 java 应用程序的内存泄漏?
【发布时间】:2017-12-22 01:31:45
【问题描述】:

我的 jboss 应用程序突然停止,核心转储文件在 /var/crash/ 路径中生成,进程 ID 为。在同一位置没有生成日志。 Java 版本为 java-1.7.0-openjdk-1.7.0.45.x86_64。我想知道为什么我的应用程序被杀死并生成了这个文件。我怀疑发生了一些导致此故障的内存泄漏。但是应用程序日志中没有任何痕迹。如何调试此代码转储文件(大约 6 GB)

【问题讨论】:

  • 如果这从未发生过,首先要做的就是尝试重现它。如果你发现了一些东西,如果你能重现它,你打算如何修复它?
  • 这个问题发生在我无法进行任何测试的生产系统中。不幸的是,我无法在我的测试环境中重现它。从生产中我只得到核心转储文件,没有来自应用程序日志的跟踪
  • 它仍然需要读取核心转储。你能发帖吗?恐怕您将不得不等到它再次发生才能真正开始修复它
  • 您的核心转储可能有很多原因,而不仅仅是内存泄漏。在分析 java core-dump 和 hs_err_pid*.log 文件之前,不要过早下结论。另请参阅Analysing a Java Core Dump。

标签: java linux memory-leaks pid coredump


【解决方案1】:

因为我看不到我们的转储文件,所以我不能准确地说出它的内存泄漏。 对于内存泄漏检查,运行应用程序中有许多工具。 在 JDK 内部,VisualVM 工具也位于“JDK/bin”文件夹中。 您可以将其指向您的生产服务器。

提供其他多种解决方案@https://developers.redhat.com/blog/2014/08/14/find-fix-memory-leaks-java-application/

【讨论】:

    猜你喜欢
    • 2011-03-04
    • 1970-01-01
    • 2020-02-14
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多