|
|
#1 |
|
Гость
|
Утечка памяти? Почему? 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)? |
|
|
|
|
#2 |
|
Участник
|
Не использовать строки неограниченной длины.
str без указания длины создает переменную, которая в базе хранится как memo. Сборщик мусора к таким строкам относится плохо. Используйте типизированные переменные. В крайнем случае просто укажите максимальную длину. |
|
|
|
|
#3 |
|
Модератор
|
Хмм. у меня не жрет. Сжирает, правда, около 60кило.
strlen дает 1001. Странно... может, что-то в консерватории подправить? Проверял и на sp3 и на sp4. Георгий |
|
|
|
|
#4 |
|
Модератор
|
Тогда встречный вопрос - а почему у меня не жрет? Сервис - параметры - критерии сборки мусора трогал? Сколько памяти всего / свободной?
Хотя, я думаю, это от еще многих параметров зависит.. С Уважением, Георгий |
|
|
|
|
#5 |
|
Гость
|
Цитата:
Сообщение от George Nordic
Тогда встречный вопрос - а почему у меня не жрет? Сервис - параметры - критерии сборки мусора трогал? Сколько памяти всего / свободной?
Хотя, я думаю, это от еще многих параметров зависит.. С Уважением, Георгий Да вроде бы ничего не меняли. Память свободная есть. Сейчас посмотрю с другой машины. |
|
|
|
|
#6 |
|
Гость
|
Посмотрел жрет и на другой.
Установка размера эффекта не дала. |
|
|
|
|
#7 |
|
Участник
|
Цитата:
Сообщение от lagr221374
Посмотрел жрет и на другой.
Установка размера эффекта не дала. |
|
|
|
|
#8 |
|
Модератор
|
Забыл добавить - только что проверил - и там, и там стот kernel rollup.
|
|
|
|
|
#9 |
|
Участник
|
и у меня не жрет и на sp3 и на sp4
|
|
|
|
|
#10 |
|
Axapta
|
info (int2str(strlen(res))) дает 1001. Все нормально. Проверял на голом сп3 и сп4.
|
|
|
|
|
#11 |
|
Гость
|
А при чем здесь длина строки?
|
|
|
|
|
#12 |
|
Axapta
|
просто показывает, что все нормально работает. И никакой утечки нет.
|
|
|
|
|
#13 |
|
Гость
|
Цитата:
Сообщение от oip
просто показывает, что все нормально работает. И никакой утечки нет.
|
|
|
|
|
#14 |
|
Axapta
|
Странно, поставил i=10001 и все равно все нормально выполняется. за 4 минуты, но нормально выполняется. Хотя видимо и не в это дело.
|
|
|
|
|
#15 |
|
Участник
|
Цитата:
Сообщение от lagr221374
Привет!
Такой вот job жрет память отпускает только после закрытия приложенияvoid Jobs() { ... ... } Есть ли рецепты (Ax3 SP4)? |
|
|
|
|
#16 |
|
Гость
|
Да вырвано из рабочего кода (на его основе сделан приведенный job дающий столь необычный эффект) рабочий код дает тот же эффект в чем и проблема. Да точно int
|
|
|
|
|
#17 |
|
NavAx
|
У меня тоже жрет мега по 3-4 при каждом запуске джоба. (Axapta SP4 EE HF1).
Но вот такая замена кода помогает: PHP код:
|
|
|
|
| За это сообщение автора поблагодарили: (1). | |
|
|
#18 |
|
Гость
|
Спасибо помогло
|
|
|