怎么理解内存中的Buffer和Cache?

简介: 怎么理解内存中的Buffer和Cache?

从 free 的手册中,你可以看到 buffer 和 cache 的说明。


Buffers 是内核缓冲区用到的内存,对应的是 /proc/meminfo 中的 Buffers 值。


Cache 是内核页缓存和 Slab 用到的内存,对应的是 /proc/meminfo 中的 Cached 与 SReclaimable 之和。


执行 man proc,你就可以得到 proc 文件系统的详细文档



Buffers 是对原始磁盘块的临时存储,也就是用来缓存磁盘的数据,通常不会特别大(20MB 左右)。这样,内核就可以把分散的写集中起来,统一优化磁盘的写入,比如可以把多次小的写合并成单次大的写等等。

Cached 是从磁盘读取文件的页缓存,也就是用来缓存从文件读取的数据。这样,下次访问这些文件数据时,就可以直接从内存中快速获取,而不需要再次访问缓慢的磁盘。

SReclaimable 是 Slab 的一部分。Slab 包括两部分,其中的可回收部分,用 SReclaimable 记录;而不可回收部分,用 SUnreclaim 记录。

目录
打赏
0
2
2
1
104
分享
相关文章
|
11月前
|
内存系列学习(四):Cache和Write Buffer一般性介绍
内存系列学习(四):Cache和Write Buffer一般性介绍
431 0
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
MySQL数据库——InnoDB引擎-架构-内存结构(Buffer Pool、Change Buffer、Adaptive Hash Index、Log Buffer)
160 3
|
11月前
|
ARM平台内存和cache对xenomai实时性的影响
ARM平台内存和cache对xenomai实时性的影响
184 0
ARM平台内存和cache对xenomai实时性的影响
|
11月前
|
内存系列学习(五):ARM处理器中的Cache和Write Buffer
内存系列学习(五):ARM处理器中的Cache和Write Buffer
483 0
内存系列学习(五):ARM处理器中的Cache和Write Buffer
使用 shell 脚本清理内存 buff/cache
使用 shell 脚本清理内存 buff/cache
216 0
重学操作系统----05 | 存储器分级:L1 Cache 比内存和 SSD 快多少倍?
重学操作系统----05 | 存储器分级:L1 Cache 比内存和 SSD 快多少倍?
352 0
JVM简介—1.Java内存区域
本文详细介绍了Java虚拟机运行时数据区的各个方面,包括其定义、类型(如程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区和直接内存)及其作用。文中还探讨了各版本内存区域的变化、直接内存的使用、从线程角度分析Java内存区域、堆与栈的区别、对象创建步骤、对象内存布局及访问定位,并通过实例说明了常见内存溢出问题的原因和表现形式。这些内容帮助开发者深入理解Java内存管理机制,优化应用程序性能并解决潜在的内存问题。
139 29
JVM简介—1.Java内存区域
JVM实战—2.JVM内存设置与对象分配流转
本文详细介绍了JVM内存管理的相关知识,包括:JVM内存划分原理、对象分配与流转、线上系统JVM内存设置、JVM参数优化、问题汇总。
JVM实战—2.JVM内存设置与对象分配流转
JVM简介—2.垃圾回收器和内存分配策略
本文介绍了Java垃圾回收机制的多个方面,包括垃圾回收概述、对象存活判断、引用类型介绍、垃圾收集算法、垃圾收集器设计、具体垃圾回收器详情、Stop The World现象、内存分配与回收策略、新生代配置演示、内存泄漏和溢出问题以及JDK提供的相关工具。
JVM简介—2.垃圾回收器和内存分配策略
Elasticsearch集群JVM调优设置合适的堆内存大小
Elasticsearch集群JVM调优设置合适的堆内存大小
939 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等