我有兴趣获得(或自己构建)一个完全没有虚拟内存且没有任何随之而来的开销的 Linux 内核版本。没有交换文件,什么都没有。
我有什么选择?
答案1
据我所知,你不能禁用这个概念虚拟内存在 Linux 中,至少在没有完全重写的情况下是这样。它是内存管理的一个组成部分,如果你禁用它,很多东西就会停止工作。
这mmap
称呼可用于将文件或设备映射到应用程序虚拟内存的一部分(每个应用程序都有32 位 4 GB 虚拟内存, 和64 位上 16 EB)。例如,应用程序可以将mmap
几兆字节的硬盘放入其自己的虚拟内存中。然后它就可以通过访问自己的内存来访问硬盘的这一部分——内核会自动从硬盘中获取所需的数据,将其存储在RAM中并将该数据返回给应用程序。如果您可以禁用虚拟内存,则该应用程序现在将不再工作。
另一方面,交换可以很容易地禁用它,只需运行或根本swapoff -a
不设置交换分区即可。/etc/fstab
答案2
任何内核都可以做到这一点。
只需不分配任何交换,那么您就只剩下“真实”内存。
swapoff -a