linux - 释放 cgi.FieldStorage 临时文件使用的磁盘空间

标签 linux pyramid wsgi

我正在编写一个接受许多大文件上传的 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/

相关文章:

linux - 为什么gdb显示的LOAD程序头虚拟地址和运行时虚拟地址不一样?

linux - apt-get 无法获取错误

python - 在 Pyramid 和 Jinja 2 模板中公开全局数据和函数

python - 在 Pyramid 中使用 Mako 模板与 Google App Engine

linux - 将 1 到 1000 万的整数列表写入文件时如何获得良好的性能?

python - Pyramid 静态 View (js、img、css): AttributeError

django - nginx,uwsgi,DJango,DEBUG = False时的502, “upstream prematurely closed connection”

python - 从 WSGI 应用程序在服务器上启动一个长时间运行的进程

python - 是什么让 WSGI 本质上是同步的?

linux - cgo从amd64(linux)交叉编译到arm64(linux)