【操作系统】聊聊内存中的cache和buffer

news2025/1/20 5:50:48

在这里插入图片描述
通过free命令,可以查看buff/cache使用了368MB内存。从字面上理解cache是缓存,buffer是缓冲区。那么具体有什么含义呢?

free数据来源

通过man free 可以看到 free的 buffer/cache 来自/proc/meminfo
在这里插入图片描述

  • buffers :内核缓冲区
  • cache : 页缓存和slab 缓存

proc文件系统

/proc 是linux内核提供的一种特殊文件系统,用户跟内核交互的接口,用户可以从/proc中查询内核的运行状态,配置项等,也可以进行修改配置。
执行man proc
在这里插入图片描述
buffers:对原始磁盘块的临时存储,也就是用来缓存磁盘的数据,内核可以把分散的写集中起来,将多次小的写合并成一次大的写入。
cached : 是对磁盘读取文件的缓存,用来缓存从文件读取的数据。后续访问可以直接从内存中获取,不用再次读取磁盘,提升读取速度。
SReclaimable 是 Slab 的一部分。Slab 包括两部分,其中的可回收部分,用 SReclaimable 记录;而不可回收部分,用 SUnreclaim 记录。

案例演示

在这里插入图片描述

vmstat 1

buffer和cache 单位是KB
bi和bo 分别代表块设备读取和写入的大小。单位是块/秒。

磁盘和文件写案例

通过读取随机设备,生成一个 500MB 大小的文件:

dd if=/dev/urandom of=/tmp/file bs=1M count=500

在这里插入图片描述
可以看到写文件的时候cache增加了很多,而buff基本不动。

在这里插入图片描述
所以总结下,buffer是对磁盘数据的缓存,而cache是文件数据的缓存。他们在读和写的时候都会使用。
个人理解就是因为要读取磁盘数据,并且都是按照块读取,所以为了提升读/写的性能,会先将数据写入到buffer中,然后一次性的写入和读取。提升性能。

而cache主要是针对文件的读写,当数据写入到cache可以进行快速返回,提升读写性能。

小结

本篇主要聊了free中cacha和buffer,而cache是针对文件的缓存,buffer是针对磁盘的缓存,读写都会使用。本质上都是为了提升整体IO的读写性能。这里留一个坑,后边补以下文件和磁盘的区别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/997138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创建数据库

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法格式: create database 数据库名称 charset 字符集; 其中: create: 创建 database: 数据库 charset: 字符集 说明: 常见的字符集:utf8(最常用…

SLAM论文详解(5) — Bundle_Adjustment_LM(BALM)论文详解

目录 1 摘要 2 相关工作 3 BA公式和导数 A. 直接BA公式 B. 导数 C. 二阶近似 4 自适应体素化 5. 将BALM结合进LOAM 6. 实验 7. 算法应用场景解析 1 摘要 Bundle Adjustment是一种用于同时估计三维结构和传感器运动运动的优化算法。在视觉SLAM,三维重建等…

Spring AOP使用指南: 强大的面向切面编程技术

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

C++this指针

本文旨在讲解C中this关键字,以及其相关作用! 定义 this 是 C 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。 this的介绍 下面来看一下关于this这个关键字的实例&#xff0…

光刻机巨头CEO称孤立中国没有希望

大家好! 我是老洪。 刚看到一个资讯。 光刻机巨头阿斯麦CEO:孤立中国没有希望,他们会提出我们没想到的解决方案。 “中国有14亿人,其中很多人都很聪明。他们会提出我们还没想到的解决方案。你在迫使他们变得非常创新。”温彼得认为…

指针数组与数组指针的区别

文章目录 一、指针概念二、指针1.0、字符指针2.0、指针数组与数组指针 总结 一、指针概念 内存会划分为一个个内存单元,指针是内存中一个最小单元的编号,也就是地址。平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的…

漏洞发现-API接口服务之漏洞探针类型利用修复(45)

这里能探针到开放的端口,可以判断出端口的所属类型,这里涉及到证明检测,然后是证明利用可以对端口进行攻击, 端口服务开发这个端口,可以对这个端口进行攻击的。 apl接口, 主要针对应用上面的接口&#xff…

C++斩题录|递归专题 | leetcode50. Pow(x, n)

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

Autojs 小游戏实践-神农百草园

概述 最近一直再写刷视频软件脚本,比如手机视频软件太多,每天都需要手动提现羊毛,太累,使用使用Autojs来帮助我提现,签到,扯远了,因为做刷视频脚本感觉有点无聊,所以试着做小游戏找…

机器学习---决策树分类代码

1. 计算数据集的香农熵 from numpy import * import numpy as np import pandas as pd from math import log import operator #计算数据集的香农熵 def calcShannonEnt(dataSet): numEntrieslen(dataSet) labelCounts{} #给所有可能分类创建字典 for featVec …

SimpleCG绘图函数(10)--基础参数属性设置函数

在前面的绘画过程中,我们已经使用过设置线条颜色等函数。本篇我们来系统讲解绘图属性的设置函数。 一、边框线条参数属性 //设置当前设备线条颜色。 COLORREF setlinecolor( COLORREF nColor ); //设置当前设备线条宽度。 int setlinewidth( int nWidth ); //设置当前设备线条…

安卓绘制原理之 那些年遇到的requestLayout埋下的坑

需要了解的知识:安卓绘制原理概览_油炸板蓝根的博客-CSDN博客 对于调用过requestLayout的View,PFLAG_FORCE_LAYOUT标记在requestLayout之后,onLayou完成之前都是一直存在的;对于ViewGroup而言,layout children都是在on…

Linux ipc通信(消息对列)

前言:消息队列也是linux开发ipc机制中较为重要的一个进程间通信机制。 1.系统创建或获取消息对列 int msgget(key_t key, int mode); 创建消息队列,或者获取消息队列。 参数: key - 使用ftok()获取到的key mode - IPC_CREAT|0666 返回&…

级联H桥储能变流器仿真

1.单个H桥模块的工作状态 2.仿真模型 3.仿真结果 3.1逆变电压网侧电压网侧电流 3.2功率跟踪情况 3.3电流跟踪情况 3.4电池SOC变化曲线 3.5相内SOC均衡效果 3.6相间SOC均衡效果 3.7最大零序电压注入与均衡速度 欢迎同行技术交流,联系方式见置顶文章的底部

NLP(4)--BERT

目录 一、自监督学习 二、BERT的两个问题 三、GLUE 四、BERT与Transformer的关系 五、BERT的训练方式 六、BERT的四个例子 1、语句分类(情感分析) 2、词性标注 3、立场分析 4、问答系统 七、BERT的后续 1、为什么预训练后的微调可以满足多…

408-2011

一、选择题&#xff08;2分/题&#xff09; 1.设 n 是描述问题规模的非负整数&#xff0c;下列程序片段的时间复杂度是______。 x2; while(x<n/2){x2*x; } A.O() B.O(n) C.O() D.O(n^2) 解答&#xff1a;A 假设执行 y次&#xff0c;则 (2^y)*xn/2,y&a…

艺术与AI:科技与艺术的完美融合

文章目录 艺术创作的新工具生成艺术艺术与数据 AI与互动艺术虚拟现实&#xff08;VR&#xff09;与增强现实&#xff08;AR&#xff09;机器学习与互动性 艺术与AI的伦理问题结语 &#x1f389;欢迎来到AIGC人工智能专栏~艺术与AI&#xff1a;科技与艺术的完美融合 ☆* o(≧▽≦…

机器学习笔记之最优化理论与方法(十)无约束优化问题——共轭梯度法背景介绍

机器学习笔记之最优化理论与方法——共轭梯度法背景介绍 引言背景&#xff1a;共轭梯度法线性共轭梯度法共轭方向共轭VS正交共轭方向法共轭方向法的几何解释 引言 本节将介绍共轭梯度法&#xff0c;并重点介绍共轭方向法的逻辑与几何意义。 背景&#xff1a;共轭梯度法 关于…

VAN LKA、LSKA

Visual Attention Network 2022 大核注意力机制LKA 在本文中&#xff0c;提出了一种新的大核注意力large kernal attention&#xff08;LKA&#xff09;模型&#xff0c; LKA吸收了卷积和自注意的优点&#xff0c;包括局部结构信息、长程依赖性和适应性。同时&#xff0c;避免…

【结合AOP与ReflectUtil对返回数据进行个性化填充展示】

结合AOP与ReflectUtil对返回数据进行个性化填充展示 背景 对于接口列表返回的数据&#xff0c;我们通常有时候会对某些特殊的字段进行转化&#xff0c;或者根据某逻辑进行重新赋值&#xff0c;举个例子&#xff0c; 比如返回的列表数据中有性别sex&#xff0c;我们通常会同时…