• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

На сервере зависает агент при очищении памяти

  • Автор темы fedotxxl
  • Дата начала
F

fedotxxl

Млин... принудительно чистим память, чтобы не падал сервер. Агент запускается runOnServer. В конце агента срабатывает print, но исполнение агента не заканчивается - зависает =(. Сервер 8.5.1FP1, Linux... Что делать?
 
F

fedotxxl

>может стоит принудительно не занимать память на сервере?
Предложи способ, мы попробуем

>как именно чистите???
Метод Delete

На других серверах (правда тестировали только на Windows) все нормально работает
 
F

fedotxxl

Система написана на классах. Работает, работает... потом бумс и не работает
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
это чисто LS классы?
или есть раперы вокруг САПИ, LS2J
 
T

TIA

LS не любит слишком много экземпляров классов. Память течёт и с очисткой кучи не всё хорошо. Часто очень много объектов физически удаляется из кучи только при выгрузке агента. Проявляется как раз долгой выгрузкой агента после выполнения последнего оператора. Лечится явным Delete объектов, особенно тех, которые имеют циклические ссылки друг на друга.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
а память смотрели?
скока жрут домино процессы - мониторить пытались? домина ограничена 32бит
 
F

fedotxxl

TIA
Тут ситуация обратная - система виснет, если очищать память... причем только на определенных серверах

lmike
Каким образом?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
*никс утилитами ;)
неуж-то одмины утилей не знают?
 
T

turumbay

LS не любит слишком много экземпляров классов. Память течёт и с очисткой кучи не всё хорошо. Часто очень много объектов физически удаляется из кучи только при выгрузке агента. Проявляется как раз долгой выгрузкой агента после выполнения последнего оператора. Лечится явным Delete объектов, особенно тех, которые имеют циклические ссылки друг на друга.
+1.
про циклические ссылки( на примере linked-lists ) доходчиво расписано у жерарда:
Andre Guirard сказал(а):
Управление памятью в LS далеко от идеала. Я встречал ситуациии, когда сборщик мусора не справлялся с задачей освождения памяти: например, при наличии у объекта ссылок, которые объявлены в другой библиотеке( класс из библиотеки А содержит ссылку на объект, объявленный в библиотеке B ). Чем больше объектов вы удаляете вручную - тем больше вероятность того, что вы не будете иметь проблем с памятью.
....
 
F

fedotxxl

С утечкой памяти еще как-то можно бороться... а как бороться с тем, что агент зависает из-за того, что МЫ БОРЕМСЯ С УТЕЧКОЙ ПАМЯТИ
 
N

nvyush

С утечкой памяти еще как-то можно бороться... а как бороться с тем, что агент зависает из-за того, что МЫ БОРЕМСЯ С УТЕЧКОЙ ПАМЯТИ
Может стоит присмотреться к порядку вызова Delete. Возможна ситуация, когда удаляется сперва родительский объект, затем дочерний.
 
F

fedotxxl

Похоже (хотя не могу утверждать на 100%), была проблема в:
в объект А объект Б, в объекте Б объект С. Насколько я понял, на сервере 8.5.1FP1 достаточно было удалить объект С и была *цензура* На 8.5.1FP2 нужно было удалить объект С, а потом попробовать получить к нему доступ через объект Б...

не понятно мне, что тут такого запретного?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
ВМ старая ;), а работать над ней у ИБМ не хватает сил/времени/желания
 
K

Klido

вот тут пару намеков от айбиэмера по поводу очисток
 
F

fedotxxl

Раз уж тема пошла о памяти - какие объекты нужно чистить? Только объекты самописных классов или же еще LS?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!