Python Django/Postgresql内存泄漏和持久连接

Python Django/Postgresql内存泄漏和持久连接,python,django,postgresql,memory-leaks,Python,Django,Postgresql,Memory Leaks,随着时间的推移,我看到一些postgres进程的内存利用率增长到25%。postgres连接是由django建立的,django主要是创建新记录 我想理解为什么postgres进程使用了这么多内存,尽管我在django设置文件中将CONN_MAX_AGE设置为600,试图解决这个问题。postgres程序似乎已经存在好几天了,所以我不相信CONN_MAX_AGE在做什么 我的DEBUG=False,正在运行Django 1.6.2。关于如何调试这个有什么想法吗?还有其他人看到过类似的问题吗?Po

随着时间的推移,我看到一些postgres进程的内存利用率增长到25%。postgres连接是由django建立的,django主要是创建新记录

我想理解为什么postgres进程使用了这么多内存,尽管我在django设置文件中将CONN_MAX_AGE设置为600,试图解决这个问题。postgres程序似乎已经存在好几天了,所以我不相信CONN_MAX_AGE在做什么


我的DEBUG=False,正在运行Django 1.6.2。关于如何调试这个有什么想法吗?还有其他人看到过类似的问题吗?

PostgreSQL可能实际上并没有使用更多的内存,这只是进程记帐报告内存使用情况的方式

如果您的整个系统RAM使用量上升,并且在使用
pg\u terminate\u backend
终止PostgreSQL后端时再次显著下降,那么您可能会遇到真正的问题。不过,最有可能的是,您看到的只是每个后端所触及的更多共享内存页

PostgreSQL使用了
palloc
和内存上下文来执行对上下文敏感的内存管理,因此对内存泄漏具有很强的抵抗力。查询中的泄漏是不常见的,查询之间持续存在的泄漏是非常罕见的。我唯一一次真正看到它们是在使用自定义C扩展时,或者当人们使用PL/Perl或PL/Python之类的过程语言并在共享上下文中存储持久信息时