zoukankan      html  css  js  c++  java
  • Linux 系统缓存机制学习

    前言:本文为参考他人的文章,是一篇学习记录型博客。理解linux的系统缓存机制有助于理解elasticsearch实时更新的原理。

    一、缓存机制

    为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果没有则通过驱动程序直接操作磁盘。

    缓存机制优点:减少系统调用次数,降低CPU上下文切换和磁盘访问频率。

    二、查看缓冲区及内存使用情况

    • 第一行Mem: 表示物理内存统计
      total:

      used:

      free:

      shared:

      buffers:

    • 第二行-/+ buffers/cache:表示物理内存的缓存统计
      used2:

      free2:

    • 第三行Swap: Swap意思是交换分区,,是从硬盘中划分出的一个分区。当物理内存不够用的时候,内核就会释放缓存区(buffers/cache)里一些长时间不用的程序,然后将这些程序临时放到Swap中,也就是说如果物理内存和缓存区内存不够用的时候,才会用到Swap。

    三、buffers 和 cached的区别

    A buffer is something that has yet to be “written” to disk. A cache is something that has been “read” from the disk and stored for later use 内核在保证系统能正常使用物理内存和数据量读写情况下来分配缓冲区大小。buffers用来缓存metadata及pages,可以理解为系统缓存。cached是用来给文件做缓存,可以理解为数据块缓存。 那就是说:buffers是用来存储,目录里面有什么内容,权限等等。 而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,你可以试一下,先后执行两次命令#man X ,你就可以明显的感觉到第二次的开打的速度快很多。

  • 相关阅读:
    Xmind8 Pro 破解教程(序列号|破解文件)
    火狐真机绕过selenium检测
    ubuntu20.04 更新国内源,亲测有效
    superset 安装记录(win10)
    anaconda 环境切换
    创建型模式-工厂方法 (python实现 与 java实现)
    python 使用抽象基类,实现(类似java)接口(继承抽象类的方法来实现具体类)
    python 基于元类的单例
    希尔排序(python实现)
    内存操作的几个函数
  • 原文地址:https://www.cnblogs.com/yangwenbo214/p/9831590.html
Copyright © 2011-2022 走看看