文件页和匿名页
文件页
内存回收, 也就是系统释放掉可以回收的内存, 比如缓存和缓冲区, 就属于可回收内存. 它们在内存管理中, 通常被叫做文件页 (File-backed Page). 大部分文件页, 都可以直接回收, 以后有需要时, 再从磁盘重新读取就可以了.
脏页
那些被应用程序修改过, 并且暂时还没写入磁盘的数据 (也就是脏页), 就得先写入磁盘, 然后才能进行内存释放.
这些脏页, 一般可以通过两种方式写入磁盘. 可以在应用程序中, 通过系统调用 fsync , 把脏页同步到磁盘中; 也可以交给系统, 由内核线程 pdflush 负责这些脏页的刷新.
文件映射页
除了缓存和缓冲区, 通过内存映射获取的文件映射页, 也是一种常见的文件页. 它也可以被释放掉, 下次再访问的时候, 从文件重新读取.
匿名页
应用程序动态分配的堆内存, 也就是在内存管理中说到的匿名页 (Anonymous Page), 它们很可能还要再次被访问啊, 不能直接回收, 这些内存自然不能直接释放. 但是, 如果这些内存在分配后很少被访问, 似乎也是一种资源浪费.
Linux Swap
Linux 的 Swap 机制把这些不常访问的内存先写到磁盘中, 然后释放这些内存, 给其他更需要的进程使用. 再次访问这些内存时, 重新从磁盘读入内存就可以了.
来源: http://www.bubuko.com/infodetail-3338764.html