只要能帮我解决问题,想要多少分都行(上限2000),谢谢啊!◎#¥%……※×

haha_0_2000_2001 2004-08-10 05:04:24
本人最近写了一个程序,在运行过程中一切表现良好。
在没有改变任何条件得情况下,经过5、6分钟,内存开始上涨,上涨以4、8、12为单位,
使用PView查看发现Heap并没有增高,而是Working Set上涨。
另外这是一个多线程程序。
请问各位大侠,像上述这种情况有没有什么基本得看法,如何去锁定内存泄漏所存在得区域。急。谢谢各位了。
Working Set是指什么内存啊?

我的状况是这样的:
Working set 不变
heap 不变

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

我写的是DirectShow的应用程序。不知道哪位大哥帮帮忙,看看这种状态是什么原因造成的。

...全文
114 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
doolin 2004-08-10
  • 打赏
  • 举报
回复
还有,或者在线程中不断的创建了其他的内核对象,如CreateFile,CreateMutex等等
doolin 2004-08-10
  • 打赏
  • 举报
回复
Working set是映射到进程上下文的物理内存。你程序的Working set没变化但核心内存(这些内存是你直接或间接在程序中创建的内核对象所占用的内存,因为内核对象的生命期 >= 你进程的生命期,所以它的内存不在你的进程空间空分配)增大,说明是核心内存所导致的内存增长,这也许并不叫内存泄露。
你的程序是多线程的,而线程本身是一个内核对象。因此,这可能是创建线程过多所导致的。
guxingfeiyu 2004-08-10
  • 打赏
  • 举报
回复
肯定是内存泄漏
qwertasdfg123 2004-08-10
  • 打赏
  • 举报
回复
贴出代码
linestyle 2004-08-10
  • 打赏
  • 举报
回复
可以用devpartner 之类的工具,还有就是用driver studio 里的一些工具!
------------------------------------
loading is waiting !!!
------------------------------------
体验速度,体验CSDN新版论坛助手:http://community.csdn.net/Expert/TopicView.asp?id=3108679

64,653

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧