【发布时间】:2011-07-04 15:46:23
【问题描述】:
我在我的应用程序中遇到了内存不足的问题。
在我的一个线程执行中,突然出现java.lang.OutofMemoryError 并使该线程死亡。
我已经为应用程序选择了内存堆大小为 20M。 我已经在这个线程上发生这个OOM之前和之后转储了整个应用程序的内存使用量,它不超过20M。
我不知道如何解决这个问题。
那么java.lang.OutofMemoryError 的可能原因是什么?如果我不知道确切原因,有什么方法可以解决吗?
这就是我得到的! 在此之前应用的内存使用量是8M
这个应用程序的内存使用量也是8M。
【问题讨论】:
-
有很多潜在的原因。作为第一步,您能否发布错误的详细信息?说出原因。
-
OOM 通常发生在您尝试分配无法放入堆的连续区域的内存块时。因此,您的总内存使用量
-
您在哪个版本的 Java 上运行?较新的版本允许您捕获更多信息。您也可以尝试在 java 命令中添加 -XX:+HeapDumpOnOutOfMemoryError 以在发生错误时生成堆转储。
-
J2SE 1.4.2。它可能有点老......
标签: java memory-leaks out-of-memory