免费注册 查看新帖 |

Chinaunix

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

『请教』get_free_pages申请大内存 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2009-10-16 11:31 |显示全部楼层
刚想到一个小问题,
VMALLOC_START是在high_memory之上的8M以后的,
那么假如我有1G内存,high_memory界限会划在896M吧
也就是说vmalloc最多只有128-8=120M了,这还要再除去顶端的固定内核映射等空间
那么这种情况下是不是用vmalloc无法分配到200M空间?
不知道Godbach版主只分配到100多M内存是不是这个原因。
反而当物理内存较小的时候,high_memory比较低,倒是可以分配到200M的虚拟地址空间。
也就是说vmalloc所能分配到的最大空间实际跟物理内存大小还有点关系?
物理内存越大,vmalloc能分配到的越少?

论坛徽章:
0
2 [报告]
发表于 2009-10-16 12:48 |显示全部楼层
白金前辈,你的vmalloc怎么有1280M阿。。你用的64系统么?

论坛徽章:
0
3 [报告]
发表于 2009-10-16 14:01 |显示全部楼层
原帖由 eexplorer 于 2009-10-16 13:56 发表
查了一下,在compile kernel的时候有一个memory splict的选项,
可以改变PAGE_OFFSET的值。可以查一下 /lib/modules/`uname -r`/build/.config里CONFIG_PAGE_OFFSET的值。


我也正纳闷,怎么vmalloc有1G以上,我这最多只能划到500M多
原来可以自己指定user/kernel空间划分的,呵呵
学习了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP