zoukankan      html  css  js  c++  java
  • 文件页和匿名页

    文件页

    内存回收,也就是系统释放掉可以回收的内存,比如缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Page)。大部分文件页,都可以直接回收,以后有需要时,再从磁盘重新读取就可以了。

    脏页

    那些被应用程序修改过,并且暂时还没写入磁盘的数据(也就是脏页),就得先写入磁盘,然后才能进行内存释放。

    这些脏页,一般可以通过两种方式写入磁盘。可以在应用程序中,通过系统调用 fsync ,把脏页同步到磁盘中;也可以交给系统,由内核线程 pdflush 负责这些脏页的刷新。

    文件映射页

    除了缓存和缓冲区,通过内存映射获取的文件映射页,也是一种常见的文件页。它也可以被释放掉,下次再访问的时候,从文件重新读取。

    匿名页

    应用程序动态分配的堆内存,也就是在内存管理中说到的匿名页(Anonymous Page),它们很可能还要再次被访问啊,不能直接回收,这些内存自然不能直接释放。但是,如果这些内存在分配后很少被访问,似乎也是一种资源浪费。

    Linux Swap

    Linux的 Swap 机制把这些不常访问的内存先写到磁盘中,然后释放这些内存,给其他更需要的进程使用。再次访问这些内存时,重新从磁盘读入内存就可以了。

  • 相关阅读:
    准爸爸日记之二
    生日的纪念
    未将对象引用设置到对象的实例未将对象引用设置到对象的实例(C#)
    读《中国合伙人》
    Command模式实例(C#)
    开源的C#项目
    抽象工厂模式(C#)
    桥模式(Bridge Pattern)
    抽象工厂模式实例(C#)
    适配器模式实例(C#)
  • 原文地址:https://www.cnblogs.com/linhaostudy/p/12064563.html
Copyright © 2011-2022 走看看