Repast - удалить / удалить агентов навсегда

Имеющаяся у меня модель содержит огромное количество агентов. Однако я хочу частично удалить / исключить некоторых агентов, которые выполнили свою работу во время выполнения, чтобы освободить вычислительную память, ускорить выполнение модели и избежать OOM.

Действительно ли context.remove () удаляет / убивает агент (объект) навсегда? Освобождается ли память после этой операции? Если нет, какова правильная процедура?


person Jack    schedule 24.06.2020    source источник


Ответы (1)


Да это правильно. Если у вас нет другой ссылки на агент, удаление его из контекста позволит сборщику мусора памяти.

person J. Ozik    schedule 25.06.2020
comment
что вы подразумеваете под другой ссылкой на агента. Предполагается ли, что после удаления агента все отношения / ссылки на этот агент также будут автоматически очищены? - person Jack; 25.06.2020
comment
Если вы создали ссылку на агент, например, в поддерживаемом вами списке, удаление агента из контекста все равно приведет к сохранению ссылки, которой вы управляете (той, что находится в вашем списке). В этом случае объект не будет доступен для сборки мусора, если вы также не удалите ссылку из любой созданной вами структуры данных. Надеюсь, это поможет прояснить ситуацию. - person J. Ozik; 26.06.2020
comment
Большое спасибо за разъяснения. Фактически, после серии сложных операций агента иногда бывает непросто определить соответствующую ссылку. Есть ли удобные способы обнаружить какие-либо установленные отношения с объектом, прежде чем удалять его из контекста? - person Jack; 27.06.2020
comment
Я предлагаю использовать хороший профилировщик, например YourKit (yourkit.com), чтобы отслеживать ссылки на объекты. По-прежнему может быть сложно отслеживать ссылки на объекты с помощью профилировщика, если существует множество слабых ссылок, таких как коллекции, которые ссылаются на объекты. Стратегическое ведение журнала и отладка могут помочь, например, время от времени проверять размер списков или карт, чтобы убедиться, что они соответствуют ожидаемому размеру. - person Eric Tatara; 30.06.2020