windows程序虚拟内存一直增加

奔跑的大象 2016-03-18 09:10:17
程序放到线上运行,虚拟内存就一直增加,代码里所有分配内存的地方也都检查过了,暂时没有发现哪里泄露的地方.虚拟内存吃到2个G的时候,程序也就挂了,程序里所有申请内存的操作都会失败.

对于虚拟内存的使用不太了解,有没有了解这块的朋友,还请赐教!
...全文
448 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑的大象 2016-03-25
  • 打赏
  • 举报
回复
问题终于得到解决,问题还出在自身代码上,代码里对申请的内存进行了管理,而并没有对内存上限做处理,所以当程序不停申请内存时,内内存使用完之后,并没有释放掉,而是将内存丢到内存管理库存里,才导致内存出现问题。 非常感谢各位的回答!
cocoabird 2016-03-21
  • 打赏
  • 举报
回复
资源管理器?
奔跑的大象 2016-03-21
  • 打赏
  • 举报
回复
引用 1 楼 paschen 的回复:
你自己的代码没申请内存不代表你程序没有申请,比如你使用了Vector,当你添加元素较多,空间不够时申请的空间是成倍的增加
引用 2 楼 yuelengdihai 的回复:
有申请有释放,谁申请谁释放。严防野指针和僵尸对象的产生 按照lz情况肯定有内存操作不好的地方
通过对代码的检测,确实没有发现内存分配导致内存泄露,不过检测只是针对类似new的一些内存操作,我个人也感觉是数据存储导致的,有没有类似这样的工具,可以查看进程内存占用,而且可以查看各个模块占用内存的情况,这样至少能确认到是哪个模块里出的问题?
赵4老师 2016-03-21
  • 打赏
  • 举报
回复
VMMap 是进程虚拟和物理内存分析实用工具。http://technet.microsoft.com/zh-cn/sysinternals/dd535533
cocoabird 2016-03-19
  • 打赏
  • 举报
回复
有申请有释放,谁申请谁释放。严防野指针和僵尸对象的产生 按照lz情况肯定有内存操作不好的地方
paschen 版主 2016-03-19
  • 打赏
  • 举报
回复
你自己的代码没申请内存不代表你程序没有申请,比如你使用了Vector,当你添加元素较多,空间不够时申请的空间是成倍的增加

64,654

社区成员

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

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