释放 cgi.FieldStorage 个临时文件使用的磁盘 space

Release disk space used by cgi.FieldStorage temp files

我正在编写一个接受许多大文件上传的金字塔应用程序(作为 POST)。与 How can I serve temporary files from Python Pyramid 类似,我遇到了一个问题,即 cgi.FieldStorage 创建的临时文件是孤立的,占用了 GB 的磁盘空间 space。 lsof 表示我的 wsgi 进程已从 /tmp 中删除文件,但文件尚未关闭。重新启动应用程序会清除孤儿。

如何关闭这些文件,以便磁盘 space 返回到 OS?

我遇到的这个问题与cgi.FieldStorage无关,金字塔实际上使用WebOb来序列化数据。

高磁盘 space 使用率的原因是 pyramid_debugtoolbar。调试器在它的文档中声明它维护了前 100 个请求的数据,在我的例子中,这些请求占用了大量内存和磁盘 space。从 __init__.py 中删除调试器的包含并重新启动服务器解决了问题。