linux下delete释放不了内存,new了以后,马上delete,但是用prstat, pmap查看,内存不减少,为什么?...

news/2024/11/25 20:43:57/

new了以后,马上delete,但是用prstat, pmap查看,内存不减少,为什么?

1、

void f()

{

char * p = new char[1024 * 1024 * 4]; //用prstat,pmap查看,内存增加了4M

sleep(5);

delete [] p;                          //delete完以后,但是用prstat,pmap查看,内存没有减少

}

2、

main()

{

while (1)

{

f ();   //这里虽然死循环,但是内存只涨了一次,4M,以后就没有关系了。

}

}

为什么?

3、

同样的程序我在windows下测试,就没有这个现象:new ---- +4M, delete -------- -4M

分不够再加,如果你在深圳,我请你吃饭

|

从这个case看,在没有调用new char的时候系统会分配1112k的地址空间,在调用

new char以后,new char会产生一个heap,地址空间大小是1032k。但是地址空间

不代表实际分配的内存,内存是有系统核心分配的,是动态的。而且在一个程序中

循环调用new char和多个并行进程调用new char是个不同的,也不是一个概念。</


http://www.ppmy.cn/news/164013.html

相关文章

MongoDB 如何使用内存?为什么内存满了?

最近接到多个MongoDB内存方面的线上case及社区问题咨询&#xff0c;主要集中在: 为什么我的 MongoDB 使用了 XX GB 内存&#xff1f;一个机器上部署多个 Mongod 实例/进程&#xff0c;WiredTiger cache 应该如何配置&#xff1f;MongoDB 是否应该使用 SWAP 空间来降低内存压力&…

linux内存一直在涨,linux下创建线程导致内存泄漏

用top发现virt的使用量一直在涨。于是可以断定有内存泄漏了&#xff0c;经过排查&#xff0c;最终确定原因出在多线程的问题上: 代码如下: pthread_t thread_id; int retpthread_create(&thread_id, NULL, flush_thread_work, (void*)&m_sql_client); if(ret!0){ APPSC…

C++内存管理及内存问题的分析

写服务端的&#xff0c;内存是一个绕不过的问题&#xff0c;而用C写的&#xff0c;这个问题就显得更严重。进程的内存持续上涨&#xff0c;有可能是正常的内存占用&#xff0c;也有可能是内存碎片&#xff0c;而C写的&#xff0c;还有可能是内存泄漏&#xff0c;那就需要一些方…

计算机内存就是指主板上,涨姿势:电脑内存用来干什么的?

今天讲的内存&#xff0c;可是很重要的东西&#xff01; 内存可是电脑硬件必不可少的配件&#xff0c;一般了解电脑的朋友都知道这个东西&#xff0c;如果你的电脑开不了机了&#xff0c;教你一个小技巧&#xff0c;有点装机常识的朋友可以插拨一下内存、或者用橡皮擦擦金手指&…

linux内存一直在涨,linux内存一直占满问题

Linux与Windows不同,会存在缓存内存,通常叫做Cache Memory。有些时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存会很少。 什么是Cache Memory(缓存内存): 当你读写文件的时候,Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存…

linux c 多线程内存一直增长,为什么我的C程序的内存使用量会持续增长?

我是Linux和C的新手,对我的应用程序的内存使用情况有疑问. 我的应用程序处理大量实时数据,每秒约500条消息. 我使用std :: map来管理(即插入和擦除)所有消息.例如, std::map m_map; // when receive a new message, convert the message into a data structure m_map.insert(st…

揭秘虚拟直播:3D场景与2D背景的区别

虚拟直播是指通过技术手段创造出虚拟场景&#xff0c;将主播或演员放置其中进行实时直播的一种形式。这种直播方式结合了虚拟现实&#xff08;VR&#xff09;、增强现实&#xff08;AR&#xff09;和实时渲染等技术&#xff0c;近年来&#xff0c;随着VR和AR技术的不断成熟和普…

table表格排序,@sort-change=“sortChange“ 取消排序

table表格排序&#xff0c;sort-change"sortChange" 取消排序 点击的单个进行排序时,要求isAsc对应当前字段的排序顺序;值ascending,descending,null三种情况;若指定了列对应的prop,没有指定order的话,默认ascending; desc降序&#xff0c;asc升序&#xff0c;当点升…