【发布时间】:2023-03-08 17:40:01
【问题描述】:
我有一个 Django 应用程序,它时常会陷入内存泄漏。
我没有使用可能使内存过载的大数据,实际上应用程序“吃掉”内存增量(在一周内内存从约 70 MB 变为 4GB),这就是为什么我怀疑垃圾收集器丢失了一些东西,但我不确定。另外,这个增量似乎不依赖于请求的数量。
DEBUG=True、留下打开的文件等明显的事情......在这里不适用。
我正在使用uWSGI 2.0.3(+ nginx)和Django 1.4.5
我可以设置wsgi,以便在内存超过一定限制时重新启动服务器,但我不想这样做,因为这不是一个真正的解决方案。
是否存在垃圾收集器“无法正常工作”的众所周知的情况?能否提供一些代码示例?
是否有任何uWSGI + Django的配置可能导致这种情况?
【问题讨论】:
-
存在内存泄漏的证据是什么?而且,我们需要查看一些实际代码。
-
这还不足以证明从 400 MB 到 4G 的增量吗?您需要哪部分代码?
-
回复:“您需要代码的哪一部分?”假装有人在问你这个问题。什么可以帮助你回答?我认为代码和配置将是一个好的开始。其他任何事情和人们都只是代表您猜测。
-
知道了@hughdbrown,但我不能把整个项目代码放在这里,这也不是想法,因为你可以看到我的问题很灵活:“有没有众所周知的情况...", "是否有任何 uWSGI + Django 配置可能导致..." 以便了解 Django 中有关内存泄漏的一些众所周知的情况/问题。
标签: python django memory-leaks uwsgi