LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2337|回复: 3

linux内核怎样处理内存碎片

[复制链接]
发表于 2007-5-30 22:22:18 | 显示全部楼层 |阅读模式
在系统运行了一段时间以后,连续物理地址的内存页会越来越小。
那些申请DMA内存的应用程序就会发生错误退出。
Linux内核能有一些措施减少这种错误的发生吗?有人提出了用kswapd,有人提出直接在内核中拷贝和移动物理页。
发表于 2007-5-31 08:34:22 | 显示全部楼层
好像内存的buddy内存分配方式就是可以减少这种情况的发生.
回复 支持 反对

使用道具 举报

发表于 2007-6-1 12:15:28 | 显示全部楼层
楼上的说的对。buddy是为了减少内存碎片的算法
另外 dma只在dma zone分配内存。一般是低16m内存。内核很少给其他应用分配低16m内存的
回复 支持 反对

使用道具 举报

发表于 2007-6-5 11:39:45 | 显示全部楼层
那最好是专门分一块内存出来给DMA用了,你的DMA应用程序就不怕什么碎片了

内存碎片大问题阿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表