回答
一般用於調試/分析,我建議Django的調試工具欄裏的起始位置,以及在各種提示:
http://docs.djangoproject.com/en/dev/topics/db/optimization/
然而,這不會給內存使用信息。如果你真的需要這樣做,你可以嘗試一些使用pympler的中間件來記錄內存使用情況,同時調試並運行開發服務器。
http://www.rkblog.rk.edu.pl/w/p/profiling-django-object-size-and-memory-usage-pympler/?c=1
我發現,這樣做研磨我的webapps到接近停止,然後有使用的DEV-網絡服務器(例如,媒體文件沒有得到服務)的問題。
但正如有人說你最好的選擇是設置DEBUG=False
:上
http://docs.djangoproject.com/en/dev/faq/models/#why-is-django-leaking-memory
如果你使用Django與DEBUG = True
然後Django的記錄每一個數據庫查詢可以快速安裝和使用的內存大量。
如果你沒有在DEBUG模式下運行,那麼看看gc模塊,特別是嘗試添加gc.set_debug(gc.DEBUG_LEAK)
到settings.py
。這會向您顯示關於哪些對象正在使用內存的大量信息。
安德魯·威爾金森說,這可能與該DEBUG = True
設置做。但是,知道您是單獨運行此項目還是作爲Web服務器運行也可能很重要。
甲Django將打開全自動高速緩存查詢集時的請求並刪除引用時的請求返回。由於在一個獨立的項目,因此每一個查詢集沒有請求引用永不刪和不斷要求得到保存。
要修復獨立的python問題,請在完成一堆請求後直接調用django.db.reset_queries()
。這將允許查詢集被垃圾收集並修復泄漏。
- 1. 的Django 1.5 gunicorn工人吃內存
- 2. JGroups吃內存
- 3. VBA內存吃
- 4. mutliprocessing.Pool.add_sync()吃掉內存
- 5. 的NSString吃內存
- 6. PHP:preg_replace吃掉所有內存
- 7. Python字典吃掉內存
- 8. Python程序吃掉內存
- 9. 爲什麼這個Python(Django)代碼吃掉了內存?
- 10. Xcode使用大內存,吃內存中的所有內存
- 11. WPF RichTextBox選項卡選擇吃掉系統內存!
- 12. 在最簡單的項目中口吃
- 13. 垃圾回收吃狀態項目
- 14. 小nodejs進程正在吃113m內存
- 15. .NET 4 C++ n音訊吃內存
- 16. VBA吃內存..不能明確資源
- 17. Xamarin Studio吃了太多的iMac內存
- 18. 爲什麼鹹菜吃內存?
- 19. 的WebView吃了太多的內存
- 20. 代碼一直在吃內存
- 21. Android GCM MeasurementBrokerService吃了太多內存
- 22. lxml和fast_iter吃掉所有內存
- 23. 是內存泄漏?爲什麼java.lang.ref.Finalizer吃了這麼多內存
- 24. xcode項目 - 內存泄漏
- 25. 內部存儲項目
- 26. Django不會吃quicktime對象
- 27. 從Scrapy項目保存Django模型
- 28. 在django項目中保存數據流
- 29. 訪問內存緩存項目
- 30. 在Django項目
有調試是definitly使你的記憶力迅速填補好辦法。 – Exelian 2011-03-14 14:15:59