Утечка памяти с полки
Я использую полку для хранения данных, в основном меток времени, которые я хочу быстро получить.
Я заполнил свою полку 40000 случайным ключом, чтобы посмотреть, как это происходит.
dbfs = shelve.open(filePath)
for i in range(0, 40000):
key = "OD452_TP3_{}".format(i)
dbfs[key] = datetime.datetime.now()
dbfs.close()
Это дает мне файл около 6 месяцев:
5971968 May 24 16:06 dbfs.bin
Затем я удаляю все в файле:
dbfs = shelve.open(filePath)
for key in dbfs:
del dbfs[key]
dbfs.close()
И файл не вернулся к нулю, а стал больше:
6606848 May 24 16:07 dbfs.bin
Я продолжал повторять одну и ту же операцию, и я вижу то же самое поведение. Память никогда не освобождается, и когда я удаляю все записи, я могу использовать дополнительно около 10% памяти...
Я собирался отложить все по моей платформе, чтобы управлять меткой времени, но у меня не может быть такого поведения.
Я делаю что-то неправильно?
Julien