【发布时间】:2012-01-25 23:14:50
【问题描述】:
我一直遇到 OOM 错误和随后的 JBoss 崩溃,即使堆显示分配给它的所有内存都没有用完。
例如:如果我分配了 1200MB 作为堆大小 (Xmx),则崩溃发生在远低于该限制的情况下,堆中没有任何一代(年轻 / 旧 / 烫发)达到 100%。
盒子有足够的内存。为什么java真的没有内存不足时会报告这个错误?
Heap
PSYoungGen total 67456K, used 9525K [0x57540000, 0x5c170000, 0x5fa90000)
eden space 66432K, 12% used [0x57540000,0x57d91520,0x5b620000)
from space 1024K, 98% used [0x5c070000,0x5c16c198,0x5c170000)
to space 3008K, 0% used [0x5bb90000,0x5bb90000,0x5be80000)
PSOldGen total 466048K, used 313530K [0x14a90000, 0x311b0000, 0x57540000)
object space 466048K, 67% used [0x14a90000,0x27cbea38,0x311b0000)
PSPermGen total 226432K, used 141461K [0x04a90000, 0x127b0000, 0x14a90000)
object space 226432K, 62% used [0x04a90000,0x0d4b55e8,0x127b0000)
【问题讨论】:
-
消息是 - OOM - 无法创建新线程
-
您应该编辑上面的帖子并粘贴您收到的实际和完整错误消息。