免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2577 | 回复: 9
打印 上一主题 下一主题

怎么写模块控制内存? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-17 09:15 |只看该作者 |倒序浏览
比如1G的内存 只给系统512M  其余用其他用途。 那我怎样写一个模块控制这个内存呢?

论坛徽章:
0
2 [报告]
发表于 2010-08-17 12:47 |只看该作者
写个模块应该做不到吧,因为系统启动时,内存管理初始化时就确定了可用内存。

如果想要保留内存,好像有个boot allocator,可以预留一部分内存。

论坛徽章:
0
3 [报告]
发表于 2010-08-17 12:55 |只看该作者
回复 2# chenbdchenbd


    那如何在启动时把内存划分下呢? 具体是在哪个文件中呢? 能否告知?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2010-08-30 14:25 |只看该作者
用  ramdisk  ,  把一部分内存 加成 ramdisk

论坛徽章:
0
5 [报告]
发表于 2010-08-30 17:19 |只看该作者
控制内存有什么好处呢

论坛徽章:
0
6 [报告]
发表于 2010-08-30 17:20 |只看该作者
还第一次听说要控制内存的

论坛徽章:
0
7 [报告]
发表于 2010-09-01 18:04 |只看该作者
这个可以的,剩下没用的就当io内存用吧,呵呵。用下ioremap就可以访问了,不知道这是不是你说的控制。

论坛徽章:
0
8 [报告]
发表于 2010-10-14 15:46 |只看该作者
你需要的是:alloc_bootmem族函数
参见ldd 3rd第八章末

论坛徽章:
0
9 [报告]
发表于 2010-10-14 16:00 |只看该作者
很简单,mmap一块你的物理内存-512m大小的空间就可以了,然后把这个mmap的程序启动设置到rc.local中,其他程序要用这块内存的时候,同样mmap过来.

论坛徽章:
0
10 [报告]
发表于 2010-10-14 16:07 |只看该作者
还有一个办法就是使用/dev/shm , 修改/etc/fstab, 改其中
none      /dev/shm        tmpfs   defaults,size=xxxM        0 0
其中xxx就是你需要的大小,然后mount -o remount /dev/shm, 就可以使用/dev/shm了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP