免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 雨过白鹭洲
打印 上一主题 下一主题

[C] 有些程序会在一开始申请一块大内存,然后马上释放,这里面有什么讲究吗? [复制链接]

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
11 [报告]
发表于 2010-04-02 13:39 |只看该作者
貌似某些内存清理工具的做法,目的是把其他进程占用的内存换出去。不过光申请而不使用一般是没效果的:mrgre ...
hellioncu 发表于 2010-04-02 13:33


不像, 除非他自己干完后退出, 否则, 别的程序占用的是被挤出来了, 可又被它占用了, 效果没什么不一样

论坛徽章:
0
12 [报告]
发表于 2010-04-02 13:42 |只看该作者
回复 5# refe_zh


    他并没有使用自己的内存管理机制,后面还是需要向系统申请的嘛。。

论坛徽章:
0
13 [报告]
发表于 2010-04-02 13:47 |只看该作者
也就是说运行库是预留内存了,但预留的是虚拟内存,不是物理内存,等到真正要用的时候还是会发生缺页中断 ...
wwdwwd 发表于 2010-04-02 13:13



其实这些我都有一点点了解,我想他这么做可能目的就是预留了100M内存防止内存不够用,但是现在的系统一般都是使用到内存才会实际分配

有个名称叫opportunistic

论坛徽章:
0
14 [报告]
发表于 2010-04-02 15:18 |只看该作者
扯淡的。
源于他对LINUX系统内存分配的不理解。
分配的大尺寸内存, 不用brk, 他这样做不起作用。
malloc(100M)
free(100M)
归还了OS.
除了浪费时间,啥也没有得到。

分配小的内存,升高了brk, free()后还保留,是有效果的。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
15 [报告]
发表于 2010-04-02 15:34 |只看该作者
愚人节已过, 请lz严肃一些, 不要讲笑话……
我快被笑死了

牛逼哄哄的人啊

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
16 [报告]
发表于 2010-04-02 16:01 |只看该作者
扯淡的。
源于他对LINUX系统内存分配的不理解。
分配的大尺寸内存, 不用brk, 他这样做不起作用。
malloc ...
思一克 发表于 2010-04-02 15:18



大内存没用 brk? 那使用了什么, 还真没看过相关代码

论坛徽章:
0
17 [报告]
发表于 2010-04-02 16:30 |只看该作者
大内存没用 brk? 那使用了什么, 还真没看过相关代码
zylthinking 发表于 2010-04-02 16:01



大内存用mmap分配的。free就立即释放。

想用brk也不行。因为程序内存的高端数据区之后的空闲内存不一定是连续的。中间有固定的被占用区间。

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
18 [报告]
发表于 2010-04-02 16:34 |只看该作者
本帖最后由 zylthinking 于 2010-04-02 16:43 编辑
大内存用mmap分配的。free就立即释放。

想用brk也不行。因为程序内存的高端数据区之后的空闲内存不 ...
思一克 发表于 2010-04-02 16:30


受教
另外再请教一下, 高端数据区之后空闲内存被什么固定占用了, 现在就我自己感觉, 固定被占用的应该是物理空间, 而不应该是虚拟空间

论坛徽章:
0
19 [报告]
发表于 2010-04-02 16:57 |只看该作者
17楼正解,
本人认为这么写的人是2B.
只懂操作系统不懂glibc.

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
20 [报告]
发表于 2010-04-02 17:02 |只看该作者
17楼正解,
本人认为这么写的人是2B.
只懂操作系统不懂glibc.
souldemo 发表于 2010-04-02 16:57



不知怎么看出这个人懂操作系统了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP