Linux 系统缓存机制学习

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

1、缓存机制

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

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

2、查看缓冲区及内存使用状况

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

    used:性能

    free:学习

    shared:blog

    buffers:内存

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

    free2:it

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

3、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 ,你就能够明显的感受到第二次的开打的速度快不少。

相关文章
相关标签/搜索