在Python中清除缓存或内存

12

我有一个需要计算的非常大的表格(100亿行+),无法一次性计算完毕。因此,我创建了一个分割点列表,并在每个步骤结束时进行计算和存储。然而,每个步骤花费的时间都很长。我认为原因可能是内存或缓存,您有任何想法如何处理这种情况,或者只是如何清除缓存或内存?

我在循环中重复使用输出变量,因此变量不会变得越来越大。

非常感谢。


你把它们存储在哪里?是在文件中还是数据库中? - Alex Hall
1
缓存是无关紧要的,除了操作系统可能直接干预缓存(缓存是由硬件驱动而非软件)。 - Delioth
提到的大表是如何实现的?它是一个数据库表还是一个字典? - Imre Piller
存储到 SQL Server。@AlexHall - Carl Zheng
它从SQL服务器检索,转换为pandas.DataFrame,然后计算并存储到SQL服务器中。@ImrePiller - Carl Zheng
显示剩余2条评论
1个回答

7

我曾使用一行代码来解决此问题,在进程结束时重置变量并清除缓存:

MyVariable = None

1
这与使用“del MyVariable”清除缓存有何不同? - user30850

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接