[問題] 如何知道此C++程式拿了多少記憶體(linux)

看板C_and_CPP (C/C++)作者 (J.D.)時間13年前 (2013/04/02 09:54), 編輯推噓3(3012)
留言15則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) G++ , Linux 問題(Question): 我知道 實際用的記憶體量 跟 分配給此C++ program的process記憶體量 不同 爬過文 爬不到 ~"~ Google看到很多windows的 用英文找c++ linux memory usage 有 找到這個 http://tinyurl.com/ylshds6 但是不是很確定 文中所說的Virtual Memory 是不是我要的 我想要的是 此程式跟Linux要了多少記憶體 程式碼(Code): int main() { //我的程式 cout<<已分配的憶體(); } 想請問要怎麼做到? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.25.24 ※ 編輯: musicJD 來自: 111.255.25.24 (04/02 09:54)

04/02 10:10, , 1F
top ?
04/02 10:10, 1F

04/02 11:40, , 2F
我都用valgrind看用了多少動態記憶體,靜態的話用nm自己算
04/02 11:40, 2F

04/02 11:42, , 3F
不過valgrind似乎只能知道你總共要了多少動態記憶體
04/02 11:42, 3F

04/02 11:43, , 4F
我比較想知道的是"最高"記憶體使用量,不知道沒有有人有辦法
04/02 11:43, 4F

04/02 12:36, , 5F
程式設計師的自我修養這本書好像有類似的code@@ 是寫最多可
04/02 12:36, 5F

04/02 12:37, , 6F
跟系統要到最大的記憶體是多少 不知道這個是不是你要的@@
04/02 12:37, 6F

04/02 13:12, , 7F
那valgrind要怎麼用?
04/02 13:12, 7F

04/02 13:16, , 8F
valgrind ./a.out
04/02 13:16, 8F

04/02 13:17, , 9F
顯示共使用動態配置記憶體多少,以及最後你有沒有free乾淨
04/02 13:17, 9F

04/02 13:33, , 10F
我想要在C++內印出來...
04/02 13:33, 10F

04/02 13:52, , 11F
要在程式印的話可能要去查/proc或者看有沒有更底層的API了...
04/02 13:52, 11F

04/02 13:53, , 12F
參考看看這個 http://ppt.cc/nmHm
04/02 13:53, 12F

04/02 13:55, , 13F
以前寫過一個process tracer就是查/proc的
04/02 13:55, 13F

04/02 13:56, , 14F
不過/proc/pid/maps裡面查到的都是以page為單位
04/02 13:56, 14F
※ 編輯: musicJD 來自: 111.255.25.24 (04/02 20:33)

04/03 18:38, , 15F
你問題我survey過很久 最後我也是查proc XD
04/03 18:38, 15F
文章代碼(AID): #1HMZfKcd (C_and_CPP)
文章代碼(AID): #1HMZfKcd (C_and_CPP)