В python, если я играю с REPL, я могу принудительно собрать мусор с помощью import gc; gc.collect()
. Как мне сделать то же самое с iex
REPL Эликсира?
Пример перед привязкой большой переменной:
Таким образом, используется около 700 МБ оперативной памяти и 300 МБ подкачки.
После привязки больших данных к переменной xx
(выбирает из базы данных 500 таймсерий по 7000 структур каждая):
Итак, теперь используется около 2,2 ГБ с свопом 500 МБ. Теперь перепривязываем xx к чему-то маленькому:
Но используемая память практически не изменилась. По-прежнему 2,2 ГБ ОЗУ и около 500 МБ подкачки. Однако, если я выйду из IEX:
Вернемся к использованию менее 400 МБ оперативной памяти. Таким образом, привязка больших данных, которая была перепривязана, не была собрана в iex
. Как я могу заставить его сделать это?