我构建了一个操纵大数据帧的烧瓶网络应用程序。 每次我调用url时,服务器使用的RAM增加2Gb。
但是,如果我终止浏览器会话,服务器使用的RAM不会减少(没有清除已用内存) - >它以内存错误结束。
代码的结构如下:
import pandas as pd
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route("/index", methods = ['GET','POST'])
def index():
global df
df2 = df.copy()
#...data treatment on df2 depending on POST parameters...#
return render_template('template.html', df2 = df2.to_html())
df = pd.read_csv("path_to_huge_dataframe")
app.run(debug=True,threaded=True)
我可以在index()函数中加载数据帧,因为文件大小需要几分钟。所以我使用了一个全球性的'变量,但我认为这是我的问题的原因。