我有一個包含Python類 「富」:如何測量python中對象的內存使用情況?
- 數據(整數,浮點數)
- 名單
- 詞典(int型的(整數花車,和其他物體的)漂浮物,其他物體)
假設沒有反向引用(週期),有沒有簡單的方法來衡量一個「foo」對象的總內存使用情況?
從本質上講,我要尋找一個遞歸版本「sys.getsizeof」
幾個我遇到包括工具:heapy,objgraph和GC,但我不認爲任何(我可以糾正這個)
建議感激!
我有一個包含Python類 「富」:如何測量python中對象的內存使用情況?
假設沒有反向引用(週期),有沒有簡單的方法來衡量一個「foo」對象的總內存使用情況?
從本質上講,我要尋找一個遞歸版本「sys.getsizeof」
幾個我遇到包括工具:heapy,objgraph和GC,但我不認爲任何(我可以糾正這個)
建議感激!
我不知道,如果你想獲得類型的大小,或實際複雜的對象,但看着getsizeof,文件指向這幾招一個強大的遞歸版本:
http://code.activestate.com/recipes/577504/
所以我會假設沒有'股票'的python電話會這樣做,否則文檔會提及它。
嘗試Pympler,它將自己描述爲「用於測量,監視和分析Python對象的內存行爲的開發工具」。
東西沿着
>>> import pympler
>>> print pympler.asizeof.asizeof(your_object)
行一直幫助我過去。
您可以search S.O.獲取更多信息 - 這裏是Alex Martelli的recommendation。
你的最終目標是什麼?通用代碼分析器是否足夠? – Daenyth 2011-02-16 22:12:06
我的python代碼使用了很多內存。排除內存泄漏後,我試圖在幾個小時內跟蹤代碼的內存使用情況,以查看內存增加的來源。 – Ciaran 2011-02-16 22:28:37