我在JVM 7上运行了一个JBoss 4.2.1应用程序,它在抛出OutOfMemoryExceptions
时触发了堆转储。我有jvm配置了以下开关:
-Xms1498m -Xmx3000m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError
我正在尝试通读堆转储来弄清楚究竟是什么导致了我的OOME。我看到消耗了大量的内存,但它们有点预期。我现在正在寻找的是#34;吸烟枪#34;。
我已经打开了另一个关于我的堆转储中缺少内存的SO issue here,所以我试图弄清楚当OOME发生时JVM正在做什么。
堆转储中是否有任何内容表明哪个线程触发了OOME?更具体地说,触发我的OOME的电话是做什么的?我意识到并理解,在内存泄漏的情况下,这可能会追逐错误的路径,但我想看看我是否看到哪个线程导致异常。
有没有使用MAT来看这个?