作者scuendless (scu)
看板EE_DSnP
标题[问题]有关memory leak
时间Thu Nov 18 17:43:52 2010
讲义上(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
1F:推 ric2k1:"doesn't seem to saturate" 通常是你的程式有回圈不断的在 11/18 17:52
2F:→ ric2k1:吃记忆体。当记忆体用量超过实体记忆体的容量时,系统会 11/18 17:53
3F:→ ric2k1:开启硬碟来做 swap space,也就是将一些 least recently 11/18 17:54
4F:→ ric2k1:used memory space swap 到硬碟之中,这种现象叫 thrashing 11/18 17:55
5F:→ ric2k1:当你的系统在做 thrashing 的时候,你可以想像把硬碟当 11/18 17:56
6F:→ ric2k1:记忆体执行起来会有多慢,慢到一定程度之後,你就会觉得 11/18 17:56
7F:→ ric2k1:整个系统当掉了... 11/18 17:57
8F:→ ric2k1:(应该是这样子 XD) 11/18 17:57
9F:→ scuendless:喔喔喔原来如此!!感谢教授的回答!! 11/18 20:44
10F:推 a3785lexx:自从很久以前某个强者推荐我用valgrind後 11/19 23:10
11F:→ a3785lexx:我就没有再memory leak过了欧^.< (此广告有夸大之嫌 11/19 23:11
12F:推 MrOrz:._./ 希望有 valgrind 教学 11/20 21:13
14F:推 BBSealion:这问题在c#中是不是会好很多? 11/21 22:30
15F:→ scuendless:好教学也!! 11/21 23:22
16F:推 timrau:有内建garbage collection的语言比较不用担心 11/22 00:17
17F:→ timrau:只要记得时常把不再使用的reference设成NULL就行了 11/22 00:18
18F:推 MrOrz:感谢 valgrind 教学 m(_ _)m 11/25 23:10