看板 EE_DSnP 關於我們 聯絡資訊
講義上(p.17)提到要是memory leak的話 會出現memory usage is increasing and doesn't seem to saturate 的狀況 其實自己之前寫程式的確有出現過 所以還滿好奇為什麼會有這種doesn't seem to saturate的狀況呢 我自己是用free -m來看記憶體使用狀況 用實驗室的電腦好像會耗到剩1X個記憶體的block, 自己的筆電有時候不小心就整個變超慢然後就當機了 不知道會有"doesn't seem to saturate" 是不是因為linux或windows自己也有在分配記憶體上的機制 那如果註定一個程式真的在執行的時候會把記憶體吃完 會有甚麼訊號警告之類嗎~ 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.199
ric2k1:"doesn't seem to saturate" 通常是你的程式有迴圈不斷的在 11/18 17:52
ric2k1:吃記憶體。當記憶體用量超過實體記憶體的容量時,系統會 11/18 17:53
ric2k1:開啟硬碟來做 swap space,也就是將一些 least recently 11/18 17:54
ric2k1:used memory space swap 到硬碟之中,這種現象叫 thrashing 11/18 17:55
ric2k1:當你的系統在做 thrashing 的時候,你可以想像把硬碟當 11/18 17:56
ric2k1:記憶體執行起來會有多慢,慢到一定程度之後,你就會覺得 11/18 17:56
ric2k1:整個系統當掉了... 11/18 17:57
ric2k1:(應該是這樣子 XD) 11/18 17:57
scuendless:喔喔喔原來如此!!感謝教授的回答!! 11/18 20:44
a3785lexx:自從很久以前某個強者推薦我用valgrind後 11/19 23:10
a3785lexx:我就沒有再memory leak過了歐^.< (此廣告有誇大之嫌 11/19 23:11
MrOrz:._./ 希望有 valgrind 教學 11/20 21:13
kalawang:C_and_CPP版 yoco大valgrind教學 http://goo.gl/qgkeE 11/21 11:25
BBSealion:這問題在c#中是不是會好很多? 11/21 22:30
scuendless:好教學也!! 11/21 23:22
timrau:有內建garbage collection的語言比較不用擔心 11/22 00:17
timrau:只要記得時常把不再使用的reference設成NULL就行了 11/22 00:18
MrOrz:感謝 valgrind 教學 m(_ _)m 11/25 23:10