首页 > 编程知识 正文

cache与主存的关系(linux tmpfs)

时间:2023-05-06 01:28:16 阅读:85481 作者:494

在IT界,有很多看起来英语区别不少的用语,但翻译成中文就容易混淆。 今天我们来谈谈其中的一对术语——buffer和cache吧。

Buffer和cache的英语看起来很不一样,但是在很多公司,甚至一些翻译过的技术图书,也经常统称为“缓存”。 什么叫做“缓”……

上面的说法,翻译,错了!

01

我带你去正确的翻译

正确的翻译: buffer、缓冲器; 高速缓存。

首先看英语的说明,大致看起来是这样的。 abufferissomethingthathasyettobe“写入”to disk.acacheissomethingthathasbeen“读取”fromthediskandStorard

查看详细的非正式中文解释

1、缓冲器在平衡系统两端的处理速度(从长时间尺度上看)时使用。 它是为了在短期内减小突发性I/O的影响,起到流量整形的作用而引入的。

例如,我们用x光机下载电影。 不能下载一点光盘。 那样的话,硬盘真的会坏的。 相反,如果写入缓冲区,积累后一次性写入磁盘,则I/O减少,效率更高,对硬盘也更好。

2、缓存是两端处理速度不一致时的折衷。 由于CPU和memory之间的速度差异越来越大,人们通过充分利用数据的局部特征和使用存储系统的分层战略来减轻这种差异带来的影响。

看了以上的中文说明,我想伙伴们能理解:

今后,随着科学技术的发展,如果存储器访问和CPU计算一样快,cache可以消失,但buffer依然必须存在。

02

详细知道

在典型的“生产者-消费者”模式中,当上游数据流突然增大时,数据消耗很可能无法立即应对“洪水”这样的要求,存在作为缓冲器发挥作用,使得上游数据不那么随波逐流,处理及时。

深入一点看

Cache为了提高访问的“命中率”,要求迅速进行查找。 现实的类比是“经常使用工具箱”,什么工具都随手可得。 不久,工作内容发生了变化,“经常使用的工具箱”中的工具被替换掉,被邀请进来。

Cache大多数时候不考虑顺序,公鸡点名,谁到谁。

Buffer为了减少频繁的操作,将一系列类似的事情一起做。 现实的类比是,当时的“小公共”和“黑色出租车”,“坐满了这辆车人都走了~~”,“还差一个人~~”,总之不够坐一个人,开车也不够。 或者是像办公桌边的废纸篓一样的东西,很多人刚扔完废品一次也没扔过。

Buffer在大多数情况下考虑顺序,经常使用FIFO (先进先出)算法。

的原理,从浅到深说了很多。 我们知道,对测试开发或性能测试的合作伙伴来说,buffer和cache除了开发讨论(xuan )论) yao外,最直接的用途是——调谐,释放更多的资源。

03

举例说明

举个栗子,在Linux系统中,可以用free命令确认内存的状况。 的结果如下。

[根@本地主机~ ] #自由- m

totalusedfreesharedbufferscached

Mem: 7869 7651 218 1 191 5081

-/ buffers/cache: 2378 5490

Swap: 478 139 339

通常,可以通过修改/proc/sys/vm/drop_caches文件来清除缓存的一部分。 详细情况如下。

表示清除pagecache

echo1/proc/sys /虚拟机/下拉缓存

表示从slab分配器中清除并回收对象(包括目录条目缓存和I节点缓存) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

echo2/proc/sys /虚拟机/下拉缓存

表示要清除pagecache和slab分配器的缓存对象

echo3/proc/sys /虚拟机/下拉缓存

作者: Arthur

来源:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但需要注明出处,并在文章页面的明显位置提示文章的链接

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。