Linux 中的 free 命令,会输出:

  total  总量

  used   已使用

  free  空闲

  shared  共享内存

  buffers  

  cached

  前面四项都比较好理解,一看我也就知道啥意思了。但是buffer 和 cached 我就一直不很理解,终于看到某篇文章写的很详细,于是记下来;

  ·A buffer is something that has yet to be "written" to disk.  ---buffer 写缓存,数据存储时,先保存到磁盘缓冲区,然后再写入到永久空间

  ·A cache is something that has been "reed" from the disk adn stored for later use.   --cache 读缓存,数据从磁盘读出后,暂留在缓冲区,预备程序接下来的使用,

  英文好点的,应该已经看出了端倪,

  buffer 用于存放要输出到磁盘的数据,而cache是从磁盘读出存放到内存中待今后使用的数据。它们的引入均是为了提供IO的性能。

  内存:从用户和操作系统的角度来看,其大小空间是有区别的。像buffer/cached的内存,由于这块内存从操作系统的角度确实被使用,但如果用户要使用,这块内存是可以很快被回收而被用户空间程序使用,因此从用户角度而言这块内存应被划为空闲状态。

  为什么Linux 会有这种机制呢?

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

转载于:https://blog.51cto.com/networktolinux/1946295

Linux内存中的 buffer 和 cache 到底是个什么东东?相关推荐

  1. Linux内存中的 buffer 和 cache

    Linux内存中的 buffer 和 cache 到底是个什么东东? Linux 中的 free 命令,会输出: total 总量 used  已使用 free 空闲 shared 共享内存 buff ...

  2. 怎么理解内存中的Buffer和Cache

    本文是通过学习倪朋飞老师的<Linux性能优化实战> :怎么理解内存中的Buffer和Cache? 怎么理解内存中的Buffer和Cache? free 数据的来源 proc 文件系统 案 ...

  3. linux buffer cache 过高_怎么理解内存中的Buffer和Cache?

    1|0缓存 从 free 命令可以看到,缓存其实就是 Buffer 和 Cache 两部分的总和 字面意思,Buffer 是缓存区,Cache 是缓存,两者都是数据再内存中的临时存储 2|0Buffe ...

  4. 16 | 基础篇:怎么理解内存中的Buffer和Cache?

    上一节,我们梳理了 Linux 内存管理的基本原理,并学会了用 free 和 top 等工具,来查看系统和进程的内存使用情况. 在今天的内容开始之前,我们先来回顾一下系统的内存使用情况,比如下面这个 ...

  5. 内存中的Buffer和Cache

    这个界面包含了物理内存Mem和交换分区Swap的使用情况,其中包括以用内存.缓存.可用内存等.其中缓存是buffer和cache这两部分的总和. 从字面意思理解,Buffer和Cache分别代表缓冲区 ...

  6. Linux内存中的Cache真的能被回收么?

    官方网站 www.itilzj.com 资料文档: wenku.itilzj.com  前言 在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个RHEL6的系统上,free命令 ...

  7. Linux 内存中的Cache

    您真的了解Linux的free命令么? Linux上的free命令详解 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的 ...

  8. Linux 内存中的缓冲区(Buffer)与缓存(Cache)

    Buffer 和 Cache 的定义: Buffer:是原始磁盘块的临时存储,即将缓存数据写入磁盘.它通常不会很大(大约  20MB).这样,内核就可以将分散的写入集中起来,从而对磁盘写入进行统一优化 ...

  9. 宋宝华:linux内存中 swappiness=0究竟意味着什么?

    本文解释linux内存中swappiness的作用,以及linux内存中swappiness=0究竟意味着什么. 内存回收 我们都知道,Linux一个进程使用的内存分为2种: file-backed ...

最新文章

  1. 基于SSM实现网上购物商城系统
  2. java 指定文件格式_java删除指定目录下指定格式文件的方法
  3. python编辑器_初学Python这几款编辑器,推荐你安装
  4. Springboot学习问题记录
  5. Java入门需掌握的30个基本概念[转]
  6. 每天进步一点点017
  7. 图像金字塔:高斯金字塔vs拉普拉斯金字塔
  8. 【note】Swift初见笔记
  9. 简繁互相切换的字库(比较全)
  10. c语言的基本数据类型和表达式,C语言–基本数据类型和表达式.ppt
  11. 冒泡、选择和插入排序图解详细分析
  12. ovs 内核态加打印调试
  13. 优秀课件笔记之中国园林艺术讲稿
  14. SageX3和车辆排队系统、地磅系统集成方案
  15. 2022-10-17 环境映射
  16. 用html做成的音频播放器,HTML5制作酷炫音频播放器插件图文教程
  17. 微信开通检测无需等待准确高的软件
  18. Python中jieba库的安装方法
  19. [数据结构][Python][经典题目]明星问题
  20. CGBTN2109-DAY09复习总结

热门文章

  1. 二值网络训练--A Empirical Study of Binary Neural Networks' Optimisation
  2. Maven报错解决:Element 'dependency' cannot have character [children], because the type's content type is
  3. ajax+lucene pdf,基于Ajax/Lucene的站内搜索技术研究
  4. java为啥要捕捉异常_java – 为什么在捕获时使用IOexception而不是Exception?
  5. python迭代列表_Python迭代列表中列的元素
  6. string类具体用法
  7. Spring Cloud Alibaba 生产实践:Sentinel 进阶应用场景
  8. golang make()内置函数
  9. 操作系统导论中文版 pdf_一分钟带你认识微软操作系统 Windows 10
  10. 看傻眼了,真的是软件测试福利来了,最全资料包