Linux内核中分配内存区域的任何固定比例(例如ZONE_DMA)应该在0-16MB之间,ZONE_NORMAL在16-896MB之间,或者我们可以根据我们的需求进行更改,如果可以,如何更改?
最佳答案
这些内存区域是根据硬件限制定义的。即使使用更大的 ZONE_DMA 重新编译内核,执行 16 位 DMA 的设备也会失败。 64 位上的 DMA32 相同。
理论上也许你可以缩小一些区域,但我不确定你这样做有什么理由。 AFAIK 正常分配可以自动溢出到 DMA 区域。
如果您想要超过 1G 的内核内存,那么您需要更改一些顶级配置选项,但不确定是哪一个。
关于linux内核内存管理: ZONE_DMA , ZONE_NORMAL大小改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469751/