社区
C++ 语言
帖子详情
【请问】delete释放的内存是否全部还给操作系统了?
HeBanBei
2016-01-21 12:03:52
delete释放的内存是否全部还给操作系统了?
我之前以为是的。但是在运行某个测试程序的时候,发现不是的。
delete之后,有大约百分之十的内存仍然为应用程序所有。(这是通过任务管理器看到的)
有一个条件,就是操作系统是windows server.
如果是win7那么看到的内存好像是都释放掉的。
那么问题来了。如果解释这种现象呢?
...全文
371
6
打赏
收藏
【请问】delete释放的内存是否全部还给操作系统了?
delete释放的内存是否全部还给操作系统了? 我之前以为是的。但是在运行某个测试程序的时候,发现不是的。 delete之后,有大约百分之十的内存仍然为应用程序所有。(这是通过任务管理器看到的) 有一个条件,就是操作系统是windows server. 如果是win7那么看到的内存好像是都释放掉的。 那么问题来了。如果解释这种现象呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lm_whales
2016-01-23
打赏
举报
回复
现代操作系统中,操作系统,采用虚拟内存,管理应用程序的内存。 每个应用程序有独立的内存空间。 所以,本质上,你的程序的内存分配,跟操作系统关系不大。 虽然,可能会调用API分配内存, 但是,那也是在应用程序自己的内存空间分配的。 跟整个操作系统关系不大。 。。。。。。。。 DOS 实模式中, 分配的是真实存在的物理内存,,,,(不过,DOS很难多进程,并行执行。) 这种类型的操作系统,内存分配确实跟操作系统关系密切。 。。。。。。。。。。。。。。。 PS: 所以,现代操作系统中,你的程序内存使用情况, 其实只是和编译器,以及对应的库。 实现的内存分配代码, 自行定义实现的内存分配代码, 引用的第三方库内存分配代码。 等等有关。 只是,他们使用的真实物理内存, 跟操作系统的内存调度有点关系, 也就仅仅这点关系而已。
qq120848369
2016-01-22
打赏
举报
回复
程序会缓存一些,操作系统自己也会缓存一些。
10km
2016-01-22
打赏
举报
回复
这个不一定啊,与不同的系统实现非常相关的。 比如在使用内存池(tcmalloc,jemalloc等等)管理内存时,你通过new申请的内存可能都不需要经过操作系统,delete释放的时候,也不一定归还给操作系统。
paschen
版主
2016-01-21
打赏
举报
回复
不一定会还给系统,可能留作下次分配用
珍惜生命远离CPP
2016-01-21
打赏
举报
回复
一般crt会缓存起来以便下次使用。 google 内存池
ztenv
版主
2016-01-21
打赏
举报
回复
这个和语言的运行时库有关系,一般的实现是小块内存不归还系统,大块的可能会归还给系统
C++ MFC实现飞机大战游戏
(8) 最后把系统的画笔
还给
系统,删除使用过的GDIObject,
释放
非空的指针,最后把新建的设备描述表也删除。 2.3 CObList链表 MFC类库中提供了丰富的CObList类的成员函数,此程序主要用到的成员函数如下:(1) 构造...
malloc/free和new/
delete
释放
后的
内存
系统会马上回收吗?
ptmalloc 会统一管理 heap 和 mmap 映射区域中的空闲的 chunk,当用户进行下一次分配请求时,ptmalloc 会首先试图在空闲的chunk 中挑选一块给用户,这样就避免了频繁的系统调用,降低了
内存
分配的开销。 ptmalloc将...
C++第3课:C++
内存
泄露检测原理及案例实战
本课程具体的内容主要包括C++
内存
泄露案例、VS2015
内存
泄露检测、野指针、VirtualAlloc/HeapAlloc/malloc/new的区别、C++堆和栈的
内存
管理、栈...泄露检测方式之重载new和
delete
、C++
内存
泄露检测方式之智能指针等...
linux下
delete
释放
不了
内存
,new了以后,马上
delete
,但是用prstat, pmap查看,
内存
不减少,为什么?...
new了以后,马上
delete
,但是用prstat,pmap查看,
内存
不减少,为什么?1、voidf(){char*p=newchar[1024*1024*4];//用prstat,pmap查看,
内存
增加了4Msleep(5);
delete
[]p;//
delete
完以后,但是用prstat,pmap查看,...
linux下
delete
释放
不了
内存
,c++
delete
后虚拟
内存
不降的原因(疑似
内存
泄漏)
如下图示:
内存
增长趋势图观察后,第一反应是完了,一定存在
内存
泄漏。花了3、4天时间,使用各种办法进行定位,一无所获。后来无意中在SPP日志中发现了端倪,日志中一直打印tcp socket[%d] user check p...
C++ 语言
64,635
社区成员
250,963
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章