Python 内存消耗:如何从进程中清除内存?

问题描述 投票:0回答:1

我有使用 pyodbc 查询 SQL 的代码:

    import pyodbc
    import gc

    with pyodbc.connect(connection_string) as conn:
        cursor = conn.cursor()
        tmp = list(cursor.execute(query))
        # attempt to clear cursor memory
        cursor.close()
        cursor = None
        gc.collect()

我遇到的问题是我无法清除此过程中的内存:

即使我关闭正在运行脚本的 jupyter 笔记本,它也会挂在内存中。我可以右键单击并按“结束任务”,但我需要自动化(并且这种强力方式需要重新启动计算机)。

此外,我必须通过设置“每个实例的最大内存”(至 2500MB)来手动配置内存设置,这大大减慢了查询时间,理想情况下我可以拥有无限内存,但在每次 SQL 查询后清除进程内存.

python pyodbc
1个回答
0
投票

试试这个:

import pyodbc
import gc

with pyodbc.connect(connection_string) as conn:
    cursor = conn.cursor()
    tmp = list(cursor.execute(query))
    # attempt to clear cursor memory
    cursor.close()
    del cursor
    gc.collect()
© www.soinside.com 2019 - 2024. All rights reserved.