我有一个在 JVM 7 上运行的 JBoss 4.2.1 应用程序,它在抛出时触发了堆转储OutOfMemoryExceptions
。我为 jvm 配置了以下开关:
-Xms1498m -Xmx3000m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError
我正在尝试通读堆转储以找出导致我的 OOME 的确切原因。我看到消耗了大块内存,但它们在某种程度上是意料之中的。我目前正在寻找的是“确凿证据”。
我已经在这里打开了另一个关于我的堆转储中缺少内存的 SO 问题,所以我试图弄清楚 OOME 发生时 JVM 在做什么。
堆转储中是否有任何内容表明哪个线程触发了 OOME?更具体地说,触发我的 OOME 的呼叫在做什么?我意识到并理解在内存泄漏的情况下,这可能是在追踪错误的线索,但我正在寻找是否看到哪个线程导致了异常。
反正有没有用MAT来看到这个?