java.lang.OutOfMemoryError: пространство кучи Java при чтении JDBC из Oracle - PullRequest
1 голос
/ 22 июня 2010

Я получаю сообщение java.lang.OutOfMemoryError: сообщение о пространстве кучи Java при чтении из базы данных Oracle 11g через JDBC. У меня defaultRowPrefetch установлен на 10000, уменьшение до 2000, кажется, решает проблему. Однако добавление дополнительной памяти в JVM (-xmx) НЕ решает проблему. Эта проблема возникает только в 64-разрядной версии Java 1.6. Я не видел эту проблему в 32-разрядной версии Java.

Мой вопрос, какие настройки я могу изменить, чтобы разрешить моему приложению работать с более крупным defaultRowPrefetch?

Ответы [ 2 ]

2 голосов
/ 22 июня 2010

Вы редактируете правильную настройку (хотя это -Xmx, а не -xmx), но, похоже, вам нужно увеличить ее, например,

-Xmx256m

Что касается 64-битной среды, вы обнаружите, что 64-битная JVM использует кучу намного быстрее, чем 32-битная JVM (что имеет смысл, указатели в два раза больше), поэтому 64-битной JVM все равно нужно больше кучи.

1 голос
/ 22 июня 2010

Неужели нехватка памяти также может возникнуть из-за отсутствия PermGen? Больше памяти, чем просто куча

-XX:MaxPermSize=128m
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...