tornado - 对象内存释放
我正在使用tornado、pandas和numpy模块开发网页应用。
在处理完请求后,这个应用的内存使用量会增加,而且一直不会减少。
我觉得“PrintInfo”这个类分配的内存没有被释放。
我该如何解决这个问题呢?
任何帮助都会非常感谢。
下面是示例代码。
#-*- coding: UTF-8 -*-'
import tornado.httpserver
import tornado.web
import pandas as pd
import numpy as np
class PrintInfo:
def PrintDataFrame(self, _df):
print _df.head()
class MainHandler(tornado.web.RequestHandler):
def get(self):
randn = np.random.randn
testDataFrame = pd.DataFrame(randn( 1000000 , 100 ))
save=PrintInfo()
save.PrintDataFrame(testDataFrame)
self.write("Done!!")
self.finish()
class Application(tornado.web.Application):
def __init__(self):
handlers = [ (r"/", MainHandler), ]
settings = dict(debug=True)
tornado.web.Application.__init__(self, handlers, **settings)
if __name__ == "__main__":
http_server = tornado.httpserver.HTTPServer(Application())
http_server.listen( 9999 )
tornado.ioloop.IOLoop.instance().start()
1 个回答
3
在 self.finish()
之后添加以下几行代码。
del testDataFrame
import gc
gc.collect()