我正在编写一个接受许多大文件上传的 Pyramid 应用程序(作为 POST
)。类似于 How can I serve temporary files from Python Pyramid ,我遇到了一个问题,即由 cgi.FieldStorage 创建的临时文件是孤立的,占用了 GB 的磁盘空间。 lsof
表示我的 wsgi 进程已经从 /tmp
中删除了文件,但是文件还没有关闭。重新启动应用程序会清除孤儿。
我怎样才能关闭这些文件,以便将磁盘空间返回给操作系统?
最佳答案
我遇到的这个问题与cgi.FieldStorage无关, Pyramid 实际上使用WebOb用于序列化数据。
磁盘空间使用率高的原因是 pyramid_debugtoolbar
。调试器在它的文档中声明它维护了前 100 个请求的数据,在我的例子中,这些请求占用了大量的内存和磁盘空间。从 __init__.py
中删除调试器的包含并重新启动服务器解决了问题。
关于linux - 释放 cgi.FieldStorage 临时文件使用的磁盘空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942344/