|
Техножурнал и событие LEAKS | ☑ | ||
---|---|---|---|---|
0
Fragster
модератор
27.08.13
✎
13:08
|
СправочникВыборка = Справочники.Номенклатура.Выбрать();
Сч = 0; Пока Выборка.Следующий И Сч < 100 Цикл Сч = Сч + 1; Если Сч%2 = 0 Тогда ОбъектИзВыборки = Выборка.ПолучитьОбъект(); Иначе ОбъектИзСсылки = Выборка.Ссылка.ПолучитьОбъект(); КонецЕсли; КонецЦикла; Если включить в техножурнале отслеживание утечек, то видно, что Выборка.Ссылка.ПолучитьОбъект(); - вызывает событие leak, а Выборка.ПолучитьОбъект(); - нет. Как сделать так, чтобы 1ска не кэшировала объекты, полученные из ссылки? |
|||
1
Maxus43
27.08.13
✎
13:09
|
Не писать Выборка.Ссылка.ПолучитьОбъект()? ибо не имеет смысла и попахивает быдлокодом в данном случае :)
|
|||
2
Fragster
модератор
27.08.13
✎
13:12
|
(1) если выборка из результата запроса - то тоже вызывает... любое получение из объекта с типом ...Ссылка - вызывает, а из ...Выборка - нет
|
|||
3
Maxus43
27.08.13
✎
13:14
|
А так?
мСсылка = Выборка.Ссылка; ОбъектИзСсылки = мСсылка.ПолучитьОбъект(); ? |
|||
4
Fragster
модератор
27.08.13
✎
13:20
|
(3) так тоже есть LEAK
|
|||
5
Fragster
модератор
27.08.13
✎
13:31
|
и ведь при выполнении кода, если посмотреть в диспетчер задач - видно что память, скушенная 1ской в случае если использовать Выборка.ПолучитьОбъект() - не растет, а если Ссылка.ПолучитьОбъект() - растет :(
|
|||
6
Kyon8
27.08.13
✎
13:32
|
Как вариант - Выборка.ПолучитьОбъект() получает ранее уже считанный в процессе выборки объект.
|
|||
7
Fragster
модератор
27.08.13
✎
13:33
|
(6) техножурнал не показывает. и память не растет в диспетчере задач.
|
|||
8
Maxus43
27.08.13
✎
13:37
|
(7) потом память очищается мусорщиком?
|
|||
9
Kyon8
27.08.13
✎
13:38
|
Ну значит выборка оптимизирована по расходованию памяти как-то, в справке же пишут "выбирает их порциями из базы данных". И все свойства для создания объекта уже есть в выборке по идее.
|
|||
10
Maxus43
27.08.13
✎
13:38
|
или LEAK как раз показывает реальную утечку неочищаемую?
Тогда наверно на партнёрку написать надо бы, и приложить ТЖ |
|||
11
Fragster
модератор
27.08.13
✎
13:45
|
вот тут: http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=606668&threadtype=0
некто Радченко, фирма 1с пишет, что это норма. Проблема только в том, что 1ска так и висит, не отдавая память (продолжает работу, да, но вот завершается, например, потом очень долго, сколько тем на мисте про это. Или несколько 1сок и альттаб - тоже плохо работает, из свопа вылезает. Да и вообще - неприятненько). |
|||
12
Maxus43
27.08.13
✎
13:49
|
(11) последние 2 поста там же говорят что всё хорошо, растёт по началу процесс только некоторое время, потом не растёт и в завершении вобще освобождает память
|
|||
13
Sammo
27.08.13
✎
14:01
|
А объем откущенной памяти в выборке в выборке запроса одинаковый?
А то есть подозрение, что Выборка содержит в себе Объект сразу и поэтому память не растет. А выборка запроса получает из базы |
|||
14
Fragster
модератор
27.08.13
✎
14:14
|
(12) у меня несколько часов висела - так и не вернула
|
|||
15
Maxus43
27.08.13
✎
14:31
|
(14) на партнёрку попробуй закинь, а лучше там поискать сначала конечно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |