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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.03.2006, 12:42   #1  
lagr221374
Гость
 
n/a
Утечка памяти? Почему? Ax3 sp 4
Привет!
Такой вот job жрет память отпускает только после закрытия приложения
void Jobs()
{
int i, loc_i;
str s = ' ',
res;
;
for (i = 0; i <= 1001; i++)
{
res = '';
for (loc_i = 1; loc_i <= i; loc_i++)
{
res += s;
}
}
}
Есть ли рецепты (Ax3 SP4)?
Старый 15.03.2006, 12:49   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Не использовать строки неограниченной длины.
str без указания длины создает переменную, которая в базе хранится как memo.
Сборщик мусора к таким строкам относится плохо.

Используйте типизированные переменные.
В крайнем случае просто укажите максимальную длину.
__________________
полезное на axForum, github, vk, coub.
Старый 15.03.2006, 12:55   #3  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хмм. у меня не жрет. Сжирает, правда, около 60кило.
strlen дает 1001.

Странно... может, что-то в консерватории подправить?
Проверял и на sp3 и на sp4.

Георгий
Старый 15.03.2006, 12:57   #4  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Тогда встречный вопрос - а почему у меня не жрет? Сервис - параметры - критерии сборки мусора трогал? Сколько памяти всего / свободной?

Хотя, я думаю, это от еще многих параметров зависит..

С Уважением,
Георгий
Старый 15.03.2006, 13:05   #5  
lagr221374
Гость
 
n/a
Цитата:
Сообщение от George Nordic
Тогда встречный вопрос - а почему у меня не жрет? Сервис - параметры - критерии сборки мусора трогал? Сколько памяти всего / свободной?

Хотя, я думаю, это от еще многих параметров зависит..

С Уважением,
Георгий
Не знаю.
Да вроде бы ничего не меняли.
Память свободная есть.
Сейчас посмотрю с другой машины.
Старый 15.03.2006, 13:25   #6  
lagr221374
Гость
 
n/a
Посмотрел жрет и на другой.
Установка размера эффекта не дала.
Старый 15.03.2006, 13:28   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от lagr221374
Посмотрел жрет и на другой.
Установка размера эффекта не дала.
Странно.
__________________
полезное на axForum, github, vk, coub.
Старый 15.03.2006, 13:37   #8  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Забыл добавить - только что проверил - и там, и там стот kernel rollup.
Старый 15.03.2006, 13:37   #9  
latvik is offline
latvik
Участник
 
74 / 13 (1) ++
Регистрация: 27.05.2004
Адрес: Moscow, YS
и у меня не жрет и на sp3 и на sp4
Старый 15.03.2006, 13:54   #10  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
info (int2str(strlen(res))) дает 1001. Все нормально. Проверял на голом сп3 и сп4.
Старый 15.03.2006, 14:16   #11  
lagr221374
Гость
 
n/a
А при чем здесь длина строки?
Старый 15.03.2006, 15:14   #12  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
просто показывает, что все нормально работает. И никакой утечки нет.
Старый 15.03.2006, 15:32   #13  
lagr221374
Гость
 
n/a
Цитата:
Сообщение от oip
просто показывает, что все нормально работает. И никакой утечки нет.
Это показывает длину строки. Утечка памяти в оперативке от этого никак не зависит, как утекала так и утекает
Старый 15.03.2006, 16:01   #14  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Странно, поставил i=10001 и все равно все нормально выполняется. за 4 минуты, но нормально выполняется. Хотя видимо и не в это дело.
Старый 15.03.2006, 17:06   #15  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Цитата:
Сообщение от lagr221374
Привет!
Такой вот job жрет память отпускает только после закрытия приложения
void Jobs()
{
... ...
}
Есть ли рецепты (Ax3 SP4)?
А код точно приведен, суди по всему собран из рабочего. Точнее интересуют переменные используемые в условиях циклов. Их типы. Там точно все переменные типа int?
Старый 15.03.2006, 17:18   #16  
lagr221374
Гость
 
n/a
Да вырвано из рабочего кода (на его основе сделан приведенный job дающий столь необычный эффект) рабочий код дает тот же эффект в чем и проблема. Да точно int
Старый 15.03.2006, 17:38   #17  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Lightbulb
У меня тоже жрет мега по 3-4 при каждом запуске джоба. (Axapta SP4 EE HF1).
Но вот такая замена кода помогает:
PHP код:
    int iloc_i;
    
str 1001 s  ' ',
    
res;
    ;
    for (
0<= 1001i++)
    {

        
res strRep(' 'i);
        
//res = '';
        //for (loc_i = 1; loc_i <= i; loc_i++)
        //{
        //    res += s;
        //}
    

При многократном запуске этого отрывка память выделяется только единожды в одной сессии.
За это сообщение автора поблагодарили:  (1).
Старый 15.03.2006, 18:23   #18  
lagr221374
Гость
 
n/a
Спасибо помогло
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Утечка памяти при вызове orig() gb20 DAX: Программирование 3 11.12.2009 12:11
Использование памяти клиентского ПК falcon65 DAX: Администрирование 0 07.11.2007 11:49
При использовании SetTimeOut() происходит утечка памяти Jox DAX: Программирование 2 21.07.2006 10:56
утечка памяти в аксапта jekill DAX: Администрирование 69 07.03.2006 10:25
Переход с Ax2.5(sp0) на Ax3.0(sp2) Wamr DAX: Прочие вопросы 15 08.02.2004 23:24

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

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

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