25.2. 系统内存的概述
Linux 内核旨在最大化系统内存(RAM)中资源的利用率。由于这些设计特性,内核操作会对工作负载使用大多数系统内存,同时将小部分保持可用。
这个空闲内存为以下情况保留:特殊的系统分配和其他低或高优先级系统服务。系统内存的其余部分专用于工作负载本身,并分为以下两类:
- 文件内存
这个类别中添加的页面代表持久性存储中的部分文件。页缓存中的这些页可以映射到应用程序的地址空间或取消映射。应用程序可以使用
mmap系统调用或使用缓冲的 I/O 读写系统调用来将文件映射到其地址空间中。缓冲的 I/O 系统调用以及直接映射页面的应用程序可以重新使用未映射页面。因此,内核会缓存这些页面以避免重复、慢的 I/O 操作,特别是在内存用量较低时。
- 匿名内存
- 这些页面由动态进程使用,或者持久性存储中没有相关文件。这些页面备份每个任务的内存控制结构,如应用堆栈和堆。