• 全部
  • 问答

各位大侠给点意见啊!急。。。。。。。。。。。。。。。。。。。。。

haha_0_2000_2001 2004-08-10 11:57:37
本人最近写了一个程序,在运行过程中一切表现良好。
在没有改变任何条件得情况下,经过5、6分钟,内存开始上涨,上涨以4、8、12为单位,
使用PView查看发现Heap并没有增高,而是Working Set上涨。
另外这是一个多线程程序。
请问各位大侠,像上述这种情况有没有什么基本得看法,如何去锁定内存泄漏所存在得区域。急。谢谢各位了。
Working Set是指什么内存啊?
...全文
129 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
doolin 2004-08-10
内存泄露可能只有自己查了。
持续的上涨应该是与程序中的循环有关,看看你的循环体里有没有发生内存泄露
回复
haha_0_2000_2001 2004-08-10
我还是没明白,我的状况是这样的:
Working set 不变
heap 不变

物理内存使用量增加。
系统缓存增加。
核心内存总数增加。
未分页总数增加。

我写的是DirectShow的应用程序。不知道哪位大哥帮帮忙,看看这种状态是什么原因造成的。
回复
Shires 2004-08-10
up
回复
peter9606 2004-08-10
mark
回复
漂白猪 2004-08-10
我觉得应该制定一下内存回收的策略,把用不到的空间释放出来
具体怎么做依具体情况而定
回复
darkstar21cn 2004-08-10
飞艇已经说得很清楚了,因为一开始已经给分配了一定的空间,够5、6分钟的程序运行使用,很快就会发现不够用了,于是分配内存上涨。而且分配不是一点一点的分配的,而是一块(大小一般由操作系统决定的),就出现了周期的增长了。

有不对之处,请高手指点。
回复
tangfulin 2004-08-10
正常运行那是跟你的程序流程有关.跟内存泄露的触发点有关.不能说明什么的

回复
haha_0_2000_2001 2004-08-10
但是能够正常执行5、6分钟啊,如果循环内出现内存泄漏得话,应该一开始就会产生内存上涨得情况啊,请有过这种经验得高手解释解释,还有,楼上得能不能说说中文啊,到底Working set是指哪一块内存啊!
回复
kaphoon 2004-08-10
The working set of a program or system is that memory or set of addresses which it will use in the near future.

This term is generally used when discussing miss rates at some storage level; the time scale of "near future" depends upon the cost of a miss. The working set should fit in the storage level; otherwise the system may thrash.

回复
发帖
C++ 语言
创建于2007-09-28

5.9w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2004-08-10 11:57
社区公告
暂无公告