作者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