zoukankan      html  css  js  c++  java
  • Linux中的buff/cache内存

    我们用free、top等相关能够查询到当前内存的使用情况的命令时,总会有一个buff/cache让我们很困惑。

    buffer

    即写如磁盘时,先保存到磁盘缓冲区(buffer),然后再写入到磁盘。

    cache

    即读磁盘时,数据从磁盘读出后,暂留在缓冲区(cache),为后续程序的使用做准备。

    如何划分buffer/cache(已使用 or 空闲)

    1. 操作系统的角度:这块内存确实被操作系统使用了
    2. 用户角度:如果用户要使用,这块内存是可以很快被回收而被用户空间程序使用,因此从用户角度而言这块内存应被划为空闲状态

    Linux这种机制的好处

    这是Linux一种非常优秀的设计,目的就是为了提升磁盘IO的性能,从低速的块设备上读取的数据会暂时保存在内存中,即使数据在当时已经不再需要了,但在应用程序下一次访问该数据时,它可以从内存中直接读取,绕开了低速的块设备,从而提高系统的整体性能。

    为了提高系统性能和不浪费内存,linux把多的内存做了cache,以提高io速度.你的那些内存并没有被占用。

  • 相关阅读:
    [12.19模拟赛]矩形|扫描线+set
    网 络
    数组(二维)
    数组
    02-线程的三种创建方式
    01-线程(概念篇)
    IO流-文件操作
    Serializable 可串行化接口
    PrintStream 类
    ObjectIntputStream / ObjectOutputStream 类
  • 原文地址:https://www.cnblogs.com/zuxing/p/11393451.html
Copyright © 2011-2022 走看看