![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
hydrargyrum |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
Всем привет!
В довольно обширном куске обнаружилась непонятная "утечка" памяти. Вот значимый кусок кода:
этот кусок вложен в другой цикл. Узкое место такое:
Память зажирается выше всяких расчетов. Вот выдержка из лога: 70 created: total = 42616Kb, free = 16134Kb, used = 26482Kb 545 to load left 80 created: total = 42616Kb, free = 14608Kb, used = 28008Kb 535 to load left 90 created: total = 42616Kb, free = 15578Kb, used = 27038Kb 99 created. Before close: total = 43638784, free = 14683088, used = 28955696 99 created. After close: total = 43638784, free = 14683088, used = 28955696 525 to load left 100 created: total = 44220Kb, free = 16010Kb, used = 28210Kb ... 400 created: total = 65088Kb, free = 4343Kb, used = 60745Kb 215 to load left 410 created: total = 65088Kb, free = 448Kb, used = 64640Kb 205 to load left 420 created: total = 65088Kb, free = 448Kb, used = 64640Kb 195 to load left 430 created: total = 65088Kb, free = 448Kb, used = 64640Kb Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.nio.CharBuffer.wrap(Unknown Source) at java.nio.CharBuffer.wrap(Unknown Source) Если этот кусок заменить на:
то все нормально: 70 created: total = 25832Kb, free = 7594Kb, used = 18238Kb 545 to load left 80 created: total = 25832Kb, free = 7103Kb, used = 18729Kb 535 to load left 90 created: total = 25832Kb, free = 8321Kb, used = 17511Kb 99 created. Before close: total = 26451968, free = 8447184, used = 18004784 99 created. After close: total = 26451968, free = 8447184, used = 18004784 525 to load left 100 created: total = 25832Kb, free = 8757Kb, used = 17075Kb ... 25 to load left 600 created: total = 25832Kb, free = 4460Kb, used = 21372Kb 15 to load left 610 created: total = 25832Kb, free = 2965Kb, used = 22867Kb 5 to load left 620 created: total = 25832Kb, free = 4150Kb, used = 21682Kb 624 created. Before close: total = 26451968, free = 3605240, used = 22846728 624 created. After close: total = 26451968, free = 3605240, used = 22846728 Loaded in 49375 msecs СУБД – PostreSQL 8.3.4 Подскажите, где тут собака порылась? |
||||||
|
|||||||
hydrargyrum |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
тут вот какое дело:
такой код тоже не вызывает описанной проблемы Конструктор DateTime такой:
ResultSet чистится после каждого цикла работы с ним. Там так: в большом цикле делается запрос к БД на выборку ~ 65 000 строк, потом они све разбираются в малом цикле, а потом
Этот кусок за все время работы вызывается 6 раз и не дает никаких результатов в осввобождении памяти |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |