作者scuendless (scu)
看板EE_DSnP
標題[問題] 有關記憶體使用
時間Sat Nov 27 15:02:35 2010
我想承之前問的memory leak那篇中再問一個問題~
之前教授說過
推 ric2k1:"doesn't seem to saturate" 通常是你的程式有迴圈不斷的在
→ ric2k1:吃記憶體。當記憶體用量超過實體記憶體的容量時,系統會
→ ric2k1:開啟硬碟來做 swap space,也就是將一些 least recently
→ ric2k1:used memory space swap 到硬碟之中,這種現象叫 thrashing
→ ric2k1:當你的系統在做 thrashing 的時候,你可以想像把硬碟當
→ ric2k1:記憶體執行起來會有多慢,慢到一定程度之後,你就會覺得
→ ric2k1:整個系統當掉了...
我這次寫完memMgr之後就想說寫一個簡單的memMgr來用在自己的專題上面
不過我想寫得只是一個簡單的版本
預先丟出大量的記憶體 之後再去跟預先丟出的記憶體拿資料
至於丟出的記憶體會以某個myObj為單位
先存在memMgr的成員_memBlock裡頭
不過我在決定一個_memBlock要有幾個單位的myObj的時候
(也就是_memBlock的size)
一直抓不到夠大又不會太大的值||||
就是我可能打了某個過大的數值之後
系統就開始變慢了然後就當機了
感覺跟上面老師推文說得狀況很像
不知道c++有沒有什麼辦法偵測實體記憶體的狀態呢
有多少我用掉了多少之類的~
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.199
1F:推 ric2k1:你可以參考一下我 usage 這個 command 的寫法, 在util 裡 11/27 21:33
2F:→ scuendless:看到了!!謝謝老師~另外我發現搜尋How to determine 11/27 23:46
3F:→ scuendless:CPU and memory consumption from inside a process有 11/27 23:47
4F:→ scuendless:滿完整的介紹! 11/27 23:47