|
![]() |
#1 |
Участник
|
Кто нибудь нашел как решить проблему утечки памяти в SP4?
При обновлении перекрестных ссылок в 2-tier (в 3-tier) программа вылетает. Т.е. своп растет (не по дням, а по часам), в конце концов все заканчивается вылетом программы. Тестили на разных компах (1 комп 4 xeon 2.8Gz 1 Gb RAM, 2 комп 1 проц Atlohh 1.7Gz 1 gb Ram) , ставили "чистую" аксу - не помогает. |
|
![]() |
#2 |
Шаман форума
|
Цитата:
Сообщение от SeregaG
Кто нибудь нашел как решить проблему утечки памяти в SP4?
При обновлении перекрестных ссылок в 2-tier (в 3-tier) программа вылетает. Т.е. своп растет (не по дням, а по часам), в конце концов все заканчивается вылетом программы. Тестили на разных компах (1 комп 4 xeon 2.8Gz 1 Gb RAM, 2 комп 1 проц Atlohh 1.7Gz 1 gb Ram) , ставили "чистую" аксу - не помогает. Oracle? |
|
![]() |
#3 |
Member
|
Цитата:
Сообщение от SeregaG
...
в конце концов все заканчивается вылетом программы. Тестили на разных компах (1 комп 4 xeon 2.8Gz 1 Gb RAM, 2 комп 1 проц Atlohh 1.7Gz 1 gb Ram) ... Или ax32.exe от сп3 используйте.
__________________
С уважением, glibs® |
|
![]() |
#4 |
Шаман форума
|
Цитата:
Сообщение от glibs
А у меня построились. Правда, сожрала 2 с хвостиком Гб виртуальной памяти. Так что добавьте виртуальной памяти побольше.
Или ax32.exe от сп3 используйте. |
|
![]() |
#5 |
Moderator
|
После того как я поставил вызовы heapCheck в xRefCreate::updateReferences() и в xRefCreate::updateDBReferences() - отъедание памяти кончилось.
В xrefCreate::updateReferences() надо вставлять вызовы heapCheck.shrinkPool() и heapCheck.postCompactingMessage() в конец условия: if (counter>500) { } В xRefCreate:updateDBReferences() - просто в самом конце функции - перед return. На самом деле во время обновления перекрестных ссылок система постоянно создает нехилые mapы состоящие из structов, потом после того как таких элементов накопится 500 штук - она их записывает в базу (в функции updateReference), а затем удаляет. А от этого случается нехилая фрагментация памяти, от которой постоянно приходится захватывать новую оперативку у системы и тп. После того как мы поставили вызовы сжатия памяти и в двух методах (один всегда на клиенте отрабатывает, второй - может и на сервере и на клиенте работать), дефрагментация памяти прошла и потребности ее все время у операционки захватывать - нету. Последний раз редактировалось fed; 02.11.2005 в 11:09. |
|
Теги |
ax3.0, баг, ошибка, утечка памяти |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|