我見過很多有關malloc內存消耗的問題,但沒有一個關於我正在處理的內容。需要內存佔用非頁面內存的幫助
我工作在高內存消耗過程,也需要良好的性能。 代碼在C. 我的目的是讓這個進程使用多達70%的機器內存作爲非可分頁內存(用於性能),以及任何高於可分頁內存的內容,所以OS仍然會有一些記憶與「玩」。
因爲我在運行時需要它,任何性能分析程序(valgrind或類似的)都是不相關的。
問題是我只能跟蹤我請求的內存量,而不是malloc正在使用的實際大小。所以當我想我沒有超過700Mb的分配時,malloc持有〜1Gb的內存,並且由於我要求不可分頁的所有內存都是不可分頁的,並且進程已經開始死亡。
如果有一種方法可以知道有多少不可分頁的內存malloc支持我的進程,那將非常棒。但在這裏閱讀帖子,我猜它仍然不被支持。
我願意接受任何人可以給我的想法或建議。
謝謝。
哪個平臺?您需要特定於平臺的API來檢查流程的內存使用情況。 – Erik 2011-03-23 09:55:33
你是對的,抱歉缺少在帖子上添加此信息。 我正在開發Linux50操作系統,安全平臺。 – 2011-03-23 09:57:28
看看/ proc/self/status和/ proc/self/statm – Erik 2011-03-23 10:00:06