内存泄漏与搁置

时间:2017-05-24 14:16:22

标签: python python-2.7 memory-leaks shelve

我正在使用搁置来存储数据,主要是我想要快速检索的时间戳。

我已经用40000随机密钥填充了我的货架,看看它是怎么回事。

dbfs = shelve.open(filePath)
for i in range(0, 40000):
    key = "OD452_TP3_{}".format(i)
    dbfs[key] = datetime.datetime.now()
dbfs.close()

它给了我一个约6 Mo的文件:

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%的内存......

我准备搁置在我的平台上以管理时间戳,但我不能有这种行为。

我做错了吗?

于连

0 个答案:

没有答案