sh内存泄漏

2024-06-16 09:40:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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个月的文件:

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%的内存。。。你知道吗

我本来打算在整个平台上搁置来管理时间戳,但我不能有这种行为。你知道吗

我做错什么了吗?你知道吗

朱利安


Tags: 文件数据key内存inforclosedatetime