| 
			
			 | 
		#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 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо помогло
		 
		
		
		
		
		
		
		
	 | 
| 
	
 |