Python扭曲内存泄漏问题

2024-09-29 21:46:38 发布

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

class queryFactory(object):

    def __init__(self, request, sql,params):
        self.request=request
        self.sql=sql
        self.params=params


    def run_it(self):
        def getQuery():
            return dbpool.runQuery(self.sql, self.params)

        def onResult(data):
            self.request.write("done")
            self.request.finish()

        d = getQuery()
        d.addCallback(onResult)
        return NOT_DONE_YET

我从render_POST创建了上面的类 并返回了它的实例的run\u-it方法

但是,什么时候自我.sqlquery返回大量的数据,内存使用量达到500mb,我注意到内存从来没有返回到操作系统,进程只是保持它,直到我重新启动应用程序。我甚至做了一个gc.收集()就在onResult里面,运气不好。在

为什么会这样?在

注意:我不得不从onResult中删除其他代码,这样我就可以缩小范围,我真的没有使用传入onResult的“数据”。在


Tags: 数据内存runselfsqlreturnobjectrequest

热门问题