簡體   English   中英

你如何評估內存消耗?

[英]How do you benchmark memory consumption?

我想知道是否有一種有效的方法來測量特定C數據結構的實際內存消耗。

目標是根據在對這些數據結構進行特定操作后內存使用情況如何變化來制定基准。

我不尋求一種方法來計算使用中的物體數量; 我確實想知道在壓力下對象的內存使用量究竟有多大。

有沒有一種標准的方法可以做到這一點,無論是在C代碼中,還是從外部? (某些等效於time (1)的實用程序將是一個開始)。

顯然,我可以追蹤每個指針,並對所有sizeof進行求和。 如果這是唯一的方法,請告訴我。 我想知道是否有一種更簡單的方法。 或者也許是一個圖書館為我做這件事。

如果要在全局級別監視程序的內存使用情況,可以使用自己的函數替換C ++中的new/delete或C中的malloc/free ,並記錄內存使用情況。

在Unix上用於內存消耗你可以使用valgrind和工具Massif(+任何可視化工具),但我不知道它是否適合你的問題,因為它會給你一個詳細的程序內存消耗的視圖。

是的,cnicutar,在Linux上你有pmap甚至可能是pstat。

在MS上,有許多適用於VStudio的分析工具,具體取決於您對MS機器的貢獻(即使是使用cmd線路的免費分析工具)。 叫我綠角,我沒有內存泄漏的問題。

暫無
暫無

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

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