簡體   English   中英

Django / Postgresql內存泄漏和持久連接

[英]Django/Postgresql memory leak and persistent connections

我看到一些postgres進程的內存利用率隨着時間的推移增長了25%。 postgres連接由django建立,而django反過來主要只是創建新記錄。

我想了解為什么postgres進程會使用這么多的內存,盡管我確實嘗試過通過在Django設置文件中將CONN_MAX_AGE設置為600來解決此問題。 盡管postgres進程似乎已經存在了幾天,所以我不相信CONN_MAX_AGE在做什么。

我的DEBUG = False,並且正在運行Django 1.6.2。 關於如何進行調試的任何想法? 還有其他人看到過類似的問題嗎?

PostgreSQL可能實際上並沒有使用更多的內存,這只是您的進程記帳報告內存使用情況的方式。

看到

如果使用pg_terminate_backend終止PostgreSQL后端時,整個系統的RAM使用量上升,而又顯着下降,則可能會pg_terminate_backend 但是,最有可能的是,您看到的只是每個后端觸摸的更多共享內存頁面。

PostgreSQL由於使用palloc和內存上下文來進行啟發式的上下文敏感的內存管理,因此可以抵御內存泄漏。 查詢中的泄漏很少見,在查詢之間持續存在的泄漏很少見。 我唯一真正看到它們的時間是在使用自定義C擴展時,或者當人們使用PL / Perl或PL / Python之類的過程語言並將持久性信息存儲在共享上下文中時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM