我创建了我能想象到的最简单的 Flask 应用程序:
import flask
from flask import Flask
application = Flask(__name__)
@application.route('/')
def index():
return flask.jsonify(ok=True)
我于 1/26 将此应用程序部署到 Elastic Beanstalk。自部署以来,它已处理 0 个请求。这是内存使用情况的图表,使用亚马逊的内存监控脚本 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html:
您可以看到(我假设)垃圾收集发生在 1/29 的小幅下降。但是到底是什么分配了这么多内存呢?如果这是正常的,我应该如何监视内存,以便我可以真正弄清楚我的(真实)应用程序是否存在内存泄漏?这是 Flask 的错、Python 的错、AWS 的错……还是其他原因?
编辑添加:今天下午我改用mod_wsgi,但似乎没有任何效果。更新的图表(dip 正在部署新版本,经过几次尝试才获得正确的配置):
输出free -m
:
total used free shared buffers cached
Mem: 532 501 31 0 81 37
-/+ buffers/cache: 381 150
Swap: 0 0 0
该内存是实际使用的还是缓存的?通过 SSH 连接到您的 beanstalk 实例并使用free
命令来确定这一点。本文 https://www.linuxatemyram.com/详细介绍了如何确定您的 RAM 是否已实际使用或已缓存及其含义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)