当通过JDBC从11gOracle数据库读取数据时,我收到一条java.lang.OutOfMemoryError: Java heap space消息。我将defaultRowPrefetch设置为10000,将其减少到2000似乎可以解决问题。但是,向JVM (-xmx)添加额外的内存并不能解决这个问题。这个问题似乎只在64位java 1.6中出现-我在32位java中没有看到这个问题。
我的问题是,我可以更改什么设置来允许我的应用程序在更大的defaultRowPrefetch上运行?
发布于 2010-06-22 04:46:51
您正在编辑正确的设置(虽然它是-Xmx,而不是-xmx),但听起来您需要进一步增加它,例如
-Xmx256m
就64位而言,您会发现64位JVM使用堆的速度比32位JVM快得多(这是有道理的,指针大小是32位的两倍),所以64位JVM无论如何都需要更多堆。
发布于 2010-06-22 06:46:17
内存不足不也是因为缺少PermGen吗?更多的内存,而不仅仅是堆
-XX:MaxPermSize=128mhttps://stackoverflow.com/questions/3088351
复制相似问题