Linux中内存buffer和cache的区别

 我来答
黎堂赫连天韵
2019-02-22 · TA获得超过3849个赞
知道大有可为答主
回答量:3115
采纳率:30%
帮助的人:439万
展开全部
cache是高速缓存,用于CPU和内存之间的缓冲;
buffer是I/O缓存,用于内存和硬盘的缓冲
cache最初用于cpu
cache,
主要原因是cpu
与memory,
由于cpu快,memory跟不上,且有些值使用次数多,所以放入
cache中,主要目的是,重复使用,
并且一级\二级物理cache速度快,
buffer 主要用于disk 与
memory, 主要是保护硬盘或减少网络传输的次数(内存数据表现dataSet).当然也可以提高速度(不会立即写入硬盘或直接从硬盘中读出的数据马上显示),重复使用,最初最主要的目的是保护disk,
asp.net的cache有outputcahe与数据cache,
主要目的是 重复使用,提高速度,outputcache主要存储Reader后的页,一般是多次使用同一个HTML,建议不要varybyparam,不要存多version,
数据cache,如dataSet,
dataTable,

@page
buffer="true",
使用buffer,让buffer满后再显示读出或写入,(c中文件输出也是如此,主要目的是保护硬盘),
也可以提高下次的访问速度.
在client
browse端表现是:
true是一次性显示,要么不显示,
中间等,
false是一次显示一些,
这在网络输出也是如此表现.
对于文件访问c中默认采用的是buffer
=
true,
这与asp.net一样,
相当于Response.write();中当buffer满后输出,以减少网络的传输次数
<%@
OutputCache
Duration="60"
VaryByParam="none"%>,
是将asp.net生成的HTML缓存起来,在指定的时间内不需要重新生成html,
control.ascx.也有组件缓存(htmlCach)。
dataSet也是如此。DataCache,
cache和buffer都是缓冲区,
在翻译上,cache翻译成高速缓冲区要好一点(因为主要是为下次访问加速),
buffer翻译成缓冲区好点。都是缓冲的作用,可目的有点不同,主要是理解,不需要太咬文嚼字.
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
大大虫
高粉答主

2015-09-25 · 醉心答题,欢迎关注
知道大有可为答主
回答量:4.2万
采纳率:76%
帮助的人:1.4亿
展开全部
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
free中看到的buffer和cache:(它们都是占用内存):
buffer: 作为buffer cache的内存 ,是块 设备的读写缓冲区
cache: 作为page cache的内存, 文件系统的cache
如果cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi会非常小。
Buffer和Cache的区别
缓存(cached)是把读取过的数据 保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。
缓冲(buffers)是根据磁盘的读写 设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式