AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.02.2007, 19:40   #1  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Болшое потребление памяти и креш


Ситуация такая, что при очень большом к-ве вызова одной ф-ии, потребляется много памяти, которая не быгружается, и собственно в некоторых ситуациях - креш...

Читал топик про HeapCheck ... сделал всё как надо ... MemorySizeUp.. shrinkPool даже dumpObjects + dumpCursors ... Всё это не помогает

Думали разделать Update на несколь ко частей... думаю не поможет, так как память всё равно не "чистица"... Сделал даже, что ф-я использует глобальные переменные.

ПС: одна грамозцкая ф-ия вызывается ~100.000 раз в лучшем случае (очень сложные расчеты и многочисленные инсерты)

Спасибо...
Старый 28.02.2007, 20:02   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Память у вас течет.
Либо сборщик мусора не успевает...
Нужно попытаться локализовать утечку, на каких действиях утекает, а дальше действовать по обстоятельствам.

На многочисленых Insert-ах может утекать память если на непроинициализированном буфере вызывается orig()

А вообще причин может быть много...
Старый 28.02.2007, 20:06   #3  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Да толь ко что сделали эксперимент - утеря памати просиходит при инсертах (и с RecordInsertList и без...)

orig() не вызывается... Может выключить вызов методов INSERT() ... там у нас только инициализация дефаултовых значений (RecInsList подам параметр был)

X++:
if (!this.transdate)
   this.transdate = systemdatget();

Последний раз редактировалось Delfins; 28.02.2007 в 20:12.
Старый 28.02.2007, 22:46   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Delfins Посмотреть сообщение
Да толь ко что сделали эксперимент - утеря памати просиходит при инсертах
установите последний exe-файл.
__________________
полезное на axForum, github, vk, coub.
Старый 01.03.2007, 04:27   #5  
Lazy_Tiger is offline
Lazy_Tiger
NavAx
Axapta Retail User
1C
NavAx Club
 
610 / 31 (3) +++
Регистрация: 17.12.2001
Адрес: Красноярск
Цитата:
Сообщение от mazzy Посмотреть сообщение
установите последний exe-файл.
а какой у нас последний? KR3? вчера нарыли там еще один косяк в ядре

одно лечат, другое колечат, блин
__________________
И все они создания природы...
Старый 01.03.2007, 07:49   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
а что за косяк?
Старый 01.03.2007, 09:39   #7  
Lazy_Tiger is offline
Lazy_Tiger
NavAx
Axapta Retail User
1C
NavAx Club
 
610 / 31 (3) +++
Регистрация: 17.12.2001
Адрес: Красноярск
у нас весьма активно используются кое какие наработки с экспортом отчетов и наследниками от ReportOutputUser

и вот в \Classes\ReportOutputUser\writeField как то ОЧЕНЬ странно стал обрабатываться типа поля Date... впрочем возможно проблема в OutputDateField и его методе value()

мусор там вместо данных
__________________
И все они создания природы...

Последний раз редактировалось Lazy_Tiger; 01.03.2007 в 09:49.
За это сообщение автора поблагодарили: gl00mie (2).
Старый 01.03.2007, 10:15   #8  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
которая не быгружается
Это ПЯТЬ

- версия?
- код?
- что за косяк?

Если еще не надоело, ессно...
__________________
Best Regards,
Roman
Старый 01.03.2007, 11:12   #9  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
3.0 SP4 EE + SQL 2K

После завершения процесса обработки памать не выгружается... надо рестартить Аxапта... (это если процесс закончился, а не крешнулся) Аxапта вылетает где то на ~ 3.3 Гб (памать в RAM)... типа того.
Старый 01.03.2007, 11:18   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Delfins Посмотреть сообщение
3.0 SP4 EE + SQL 2K
В SP4 были утечки памяти. Известная бага.
Возьмите ядро посвежее.
Например SP5 или какой ниюудь из KR

А приложение старое можно оставить.
Старый 01.03.2007, 11:20   #11  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Lazy_Tiger Посмотреть сообщение
а какой у нас последний? KR3? вчера нарыли там еще один косяк в ядре
а в KR2 такое проявляется?
Цитата:
Сообщение от Lazy_Tiger Посмотреть сообщение
у нас весьма активно используются кое какие наработки с экспортом отчетов и наследниками от ReportOutputUser, и вот в \Classes\ReportOutputUser\writeField как то ОЧЕНЬ странно стал обрабатываться типа поля Date... впрочем возможно проблема в OutputDateField и его методе value(); мусор там вместо данных
Пока есть время до июня (KR4) - напишите в суппорт, авось исправят.
Старый 01.03.2007, 12:11   #12  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Вроде нашли БАГ ....

Убрали поле TransId, которое было примарное + использовалось NumSeq + резервация (100 едениц)

ПС: можер мы не правильно использовали NumberSeq (список вроде пустой в настройках Sequence) ???

Код:
global NumSeq = ....

while ()
{
    table.TransId = numSeq.num();
}
PPS: сейчас памать стоит практически стоит "на месте"
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Утечка памяти при вызове orig() gb20 DAX: Программирование 3 11.12.2009 12:11
Использование памяти клиентского ПК falcon65 DAX: Администрирование 0 07.11.2007 11:49
утечка памяти в аксапта jekill DAX: Администрирование 69 07.03.2006 10:25
Падает от нехватки памяти Hamster DAX: Администрирование 9 03.06.2005 11:17
В памяти остается COM (Excell) bucken DAX: Программирование 3 19.12.2003 18:08
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:28.