博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 操作系统中buffer 和 cache 的作用
阅读量:2268 次
发布时间:2019-05-09

本文共 936 字,大约阅读时间需要 3 分钟。

Buffer cache (它们都是占用内存)。

Buffer: 系统分配但未被使用的buffer 数量。

  

Buffer 缓冲区:  是块设备的读写缓冲区,buffer I/O 缓存,用于内存和硬盘(或其他 I/O设备)之间的数据交换的速度而设计的。


 分析:

1通常在写一个非常大的文件,文件会被分成一个个的小 block-->一直往内存上写-->然后再写入磁盘,,  这个文件非常的大,但是会被分成一个个小的block块,每次都一点一点的-->写入内存-->再写入磁盘,  这样的效率较慢 。

2 这种情况下,内存就会攒足一次大的block-->再写入磁盘,这样的话就不会有第一种情况里的延迟。 这就是buffer.

 


 Cache高速缓存 cache是高速缓存,用于cpu与内存之间的缓冲。主要原因是cpumemory,由于cpu快,memory跟不上,且有些值使用次数多,所以放入cache中,主要目的是,使用内存来缓存可能被再次访问的数据。  Cache 经常被使用在I/O 请求上。为提高系统性能。

从硬盘上读内容时的情况:

例如 要打开一个非常大的视频文件从硬盘-->读到内存--->显示出来。 第一次打开这个文件的时候需要等待一些时间(视电脑性能),然后第二次打开的时候会比第一次流畅许多。

 例如:小明第一次看这个10G的视频文件,从硬盘-->内存-->显示,他看完以后就关机了,内存也就清空空间了,但是他回头一想,电影中的某个情节想再回顾一下,这个时候,从硬盘-->读到内存 ,这个时候的内存没有再次从硬盘读取,而是之前关机有缓存,读取的时间可能比之前流畅,这就是cache.为了提高文件读取效率的做法。

 

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

 


现在做个实验:

现在buff/cache  是100

 使用cat  b.txt  使文件从硬盘往内存上读:

Buffer/cache 增加到103

  使用内存,也就是在使用buffer   和 cache 

 

转载于:https://www.cnblogs.com/tonycloud/articles/6568159.html

你可能感兴趣的文章
Android 搭建
查看>>
Java 配置
查看>>
多个Activity的完全退出
查看>>
自定义android控件
查看>>
tomcat c/s 三层架构
查看>>
代码_多进程_简单实例
查看>>
转载_消息机制
查看>>
代码_网络_FTP
查看>>
代码_网络_WWW
查看>>
技巧_MFC_执行外部程序
查看>>
排序算法——归并排序(动态演示和静态演示,包含代码生成和简化的过程)
查看>>
排序算法——基数排序(Radix Sort,可以关注一下思维方式,由最初的一步,到最后的递归构成)
查看>>
排序算法——总结
查看>>
查找算法——顺序查找
查看>>
查找算法——二分查找
查看>>
查找算法——插值查找
查看>>
查找算法——斐波那契查找法(黄金分割法)
查看>>
哈希表(散列)
查看>>
用哈希表实现简单的缓存层
查看>>
树结构的基础部分
查看>>