小编Sea*_*Sea的帖子

Python Google App Engine无法释放对象数组的内存

我使用GAE(谷歌应用程序引擎),制作一个非常简单的Web应用程序。在处理请求的方法中,我只是创建了大量对象。在那之后,我删除了对该数组的所有引用。之后,我致电gc.collect。

但是当我长时间测试(发送请求)时,仪表板的内存使用量继续增加。

我看起来像内存泄漏。但是我认为代码还可以。

下面是示例代码。

from flask import Flask, request

import gc

app = Flask(__name__)

@app.route('/', methods=['POST'])
def hello():

    gc.enable()

    bigArr = []
    for x in range(10000):
        raw_data = request.get_data(cache=False)
        bigArr.append(raw_data)
        del raw_data

    print('len(bigArr):' + str(len(bigArr)))
    del bigArr
    gc.collect()

    return 'Hello World'


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80, debug=True)
Run Code Online (Sandbox Code Playgroud)

App引擎配置:运行时:python37 automatic_scaling:max_instances:1

这是内存使用情况的图像: 请查看内存使用情况的图像

python google-app-engine memory-leaks memory-management

10
推荐指数
1
解决办法
171
查看次数