iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux内存buffer和cache的区别是什么
  • 915
分享到

Linux内存buffer和cache的区别是什么

2023-06-16 12:06:37 915人浏览 八月长安
摘要

这篇文章主要介绍“linux内存buffer和cache的区别是什么”,在日常操作中,相信很多人在Linux内存buffer和cache的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux内存

这篇文章主要介绍“linux内存buffer和cache的区别是什么”,在日常操作中,相信很多人在Linux内存buffer和cache的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux内存buffer和cache的区别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一. 内存使用说明

Free 命令相对于top 提供了更简洁的查看系统内存使用情况:

[root@rac1 ~]# free  total used free shared buffers cached  Mem: 1035108 1008984 26124 0 124212 413000  -/+ buffers/cache: 471772 563336  Swap: 2096472 842320 1254152

这里显示的单位是KB。

在Linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。有关linux内存机制参考:

Linux 内存机制

Http://blog.csdn.net/tianlesoftware/arcHive/2010/04/08/5463790.aspx

Mem:表示物理内存统计。

-/+ buffers/cached:表示物理内存的缓存统计

Swap:表示硬盘上交换分区的使用情况。只有mem被当前进程实际占用完,即没有了buffers和cache时,才会使用到swap。

Mem 行(***行)数据说明:

Total:1035108KB。表示物理内存总大小。

Used:1008984KB。表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。

Free:26124KB。表示未被分配的内存。

Shared:0kb。共享内存,一般系统不会用到。

Buffers:124212KB。系统分配但未被使用的buffers 数量。

Cached:413000KB。系统分配但未被使用的cache 数量。

-/+ buffers/cache 行(第二行)数据说明:

Used:471772kb,实际使用的buffers 与cache 总量,也是实际使用的内存总量。

Free: 563336kb, 未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。

根据以上分析,可以得出一下结论:

1. 实际可用内存大小:

Free(-/+ buffers/cache行)= Free(Mem)+buffers(Mem)+Cached(Mem);

563336 = 26124 + 124212+ 413000

2. 已经分配的内存大小:

Used(Mem) = Used(-/+ buffers/cache)+ buffers(Mem) + Cached(Mem)

1008984kb = 471772 + 124212 +413000

3. 物理内存总大小

total(Mem) = used(-/+ buffers/cache) + free(-/+ buffers/cache)

1035108 = 471772 + 563336

二. buffer 与cache 的区别

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.

2.1 Cache

Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。

由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。

Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2  Cache早期一般是焊在主板上,现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。

2.2 Buffer

Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。

在Free命令中显示的buffer和cache,它们都是占用内存:

buffer : 作为buffer cache的内存,是块设备的读写缓冲区,更靠近存储设备,或者直接就是disk的缓冲区。

cache: 作为page cache的内存, 文件系统的cache,是memory的缓冲区

如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读io 必会非常小。

到此,关于“Linux内存buffer和cache的区别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Linux内存buffer和cache的区别是什么

本文链接: https://www.lsjlt.com/news/283685.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux内存buffer和cache的区别是什么
    这篇文章主要介绍“Linux内存buffer和cache的区别是什么”,在日常操作中,相信很多人在Linux内存buffer和cache的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux内存...
    99+
    2023-06-16
  • Linux中内存buffer和cache有什么区别
    小编给大家分享一下Linux中内存buffer和cache有什么区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!细心的朋友会注意到,当你在linux下频繁存取文...
    99+
    2023-06-13
  • Cache 和 Buffer 的区别是什么
    这篇文章主要为大家分析了Cache 和 Buffer 的区别是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Cache 和 Buffer 的区别是什么”...
    99+
    2023-06-04
  • Linux内存、Swap、Cache、Buffer是什么
    今天小编给大家分享一下Linux内存、Swap、Cache、Buffer是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-06-28
  • mysql中的Cache和Buffer的区别是什么
    mysql中的Cache和Buffer的区别是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。mysql Cache和Buffer区别有...
    99+
    2022-10-18
  • Ask Hoegh中buffer cache和buffer有什么区别
    这期内容当中小编将会给大家带来有关Ask Hoegh中buffer cache和buffer有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 ...
    99+
    2022-10-19
  • linux中buffer和cache的区别有哪些
    本文小编为大家详细介绍“linux中buffer和cache的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux中buffer和cache的区别有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-29
  • 怎么理解Linux内存管理中Buffer和Cache
    本篇内容介绍了“怎么理解Linux内存管理中Buffer和Cache”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2022-10-18
  • Linux的内存中Swap和Cache以及Buffer的介绍是怎样的
    Linux的内存中Swap和Cache以及Buffer的介绍是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 total:总内存大小。 used:已经...
    99+
    2023-06-15
  • Linux的内存机制以及手动释放swap和buffer和cache
    这篇文章主要讲解了“Linux的内存机制以及手动释放swap和buffer和cache”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux的内存机制以及手动释放swap和buffer和c...
    99+
    2023-06-15
  • win10 gpu共享内存和专有内存的区别是什么
    这篇“win10 gpu共享内存和专有内存的区别是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win10 gpu共享内...
    99+
    2023-07-01
  • 系统内存和存储内存有什么区别
    系统内存和存储内存的区别有以下几点:运行内存是指程序运行时需要的内存,只能临时存储数据用于与CPU交换高速缓存数据,一般多指随机存取存储器;而存储内存是用于存储程序和数据的部件,存储内存的大小可以决定存储数据的多少;运行内存的大小直接决定了...
    99+
    2022-10-04
  • java堆内存和栈内存有什么区别
    Java中的堆内存和栈内存是两种不同的内存区域,主要用于存储不同类型的数据。1. 堆内存(Heap Memory):- 用于存储对象实例和数组等动态分配的数据。- 由Java虚拟机自动管理,通过垃圾回收机制来释放不再使用的对象占用的内存...
    99+
    2023-08-11
    java
  • 内存和存储器有什么区别
    内存和存储器是计算机中的两个重要概念,它们有以下区别:1. 功能不同:内存(Memory)是计算机用于存储数据和指令的地方,它用来暂...
    99+
    2023-09-22
    内存
  • ubuntu和linux的区别是什么
    ubuntu和linux的区别是:1.概念不同、2.基础不同等。概念不同,linux是一套免费使用和自由传播的类Unix操作系统,而ubuntu是一个以桌面应用为主的linux操作系统。.基础不同,linux是一个基于POSIX和Unix的...
    99+
    2022-10-03
  • linux和windows的区别是什么
    本文小编为大家详细介绍“linux和windows的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux和windows的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、开发首先,li...
    99+
    2023-07-02
  • Java中栈内存和堆内存有什么区别
    在Java中,栈内存和堆内存是两种不同的内存区域,用于存储不同类型的数据。1. 栈内存:- 栈内存是由系统自动分配和释放的,用于存储...
    99+
    2023-08-16
    Java
  • Nodejs中的buffer缓存区的作用是什么
    这篇文章主要讲解了“Nodejs中的buffer缓存区的作用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nodejs中的buffer缓存区的作用是什...
    99+
    2022-10-19
  • 服务器内存和普通内存有什么区别
    服务器内存和普通内存的区别有以下几点功能不同服务器内存支持ECC错误校验技术,可进行错误校验、纠正,保证了服务器系统的稳定可靠;而普通内存条检测到错误时,无法修正错误。侧重不同服务器内存侧重于体积的理想性、容量的扩展性、散热及可靠性等,而普...
    99+
    2022-10-17
  • android内存溢出和内存泄漏有什么区别
    Android内存溢出和内存泄漏是两个不同的问题。1. 内存溢出(Memory Overflow):内存溢出指的是当应用程序分配的内...
    99+
    2023-08-08
    android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作