我正在编写一个金字塔应用程序,它接受许多大文件上传(作为POST
)。与How can I serve temporary files from Python Pyramid类似,我遇到的问题是cgi.FieldStorage创建的临时文件是孤立的,占用GB的磁盘空间。 lsof
表示我的wsgi进程已从/tmp
删除了文件,但文件尚未关闭。重新启动应用程序会清除孤儿。
如何关闭这些文件以便将磁盘空间返回给操作系统?
答案 0 :(得分:0)
我遇到的这个问题与cgi.FieldStorage无关,金字塔实际上使用WebOb来序列化数据。
磁盘空间使用率高的原因是pyramid_debugtoolbar
。调试器在其文档中声明它维护了前100个请求中的数据,这在我的情况下占用了大量的内存和磁盘空间。从__init__.py
删除调试器的包含并重新启动服务器解决了问题。