Linux 内核“保留”内存

eld*_*kae 5 linux memory optimization kernel arm64

我正在尝试为低内存系统(16MB ram)编译内核(3.14,arm64 arch)。我设法关闭了我不需要的所有功能,基本上没有设备,没有 fs,没有模块,没有 ZONE_DMA,一个非常非常基本的内核。

但是,当我启动内核时,我看到:

内存:860K/16384K可用(789K内核代码、67K rwdata、56K Rodata、64K init、38K bss、15524K保留)

  • 这个保留的内存是什么?

  • 我怎样才能减少这种情况?储备占用了我的大量内存,只剩下 860K 可用

提前致谢!

ska*_*hal -1

内存:860K/16384K可用(789K内核代码,67K rwdata,56K rodata,64K init,38K bss,15524K保留)

这是进程在内存中的结构:文本/代码段、数据段(bss、rodata 等)、堆和堆栈。内核总是驻留在RAM中并保留一些内存空间供其使用。但当 RAM 较小时,它由内核和用户空间进程共享。

要了解有关嵌入式 Linux 的更多信息,请阅读这篇文章

  • 这仍然没有解释内存的“保留”部分的用途以及如何调整它 (3认同)