码迷,mamicode.com
首页 > 系统相关 > 详细

buffer 和 cache 的区别

时间:2016-07-04 12:05:48      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:linux buffer cache 内存 使用率

buffer和cache统称为缓存,功能和作用上却有所区别:

技术分享

1)buffer,内存缓冲区,各进程产生的文件临时存放区,一定时间段内统一写入磁盘,减少磁盘碎片和   硬盘的反复寻道,从而提高系统性能;

2)cache,内存缓存区,经常被用在磁盘的I/O请求上,如果有文件频繁被访问到,系统会将文件缓存在   cache区,供CPU进程等访问;CPU中的一级缓存、二级缓存、甚至是三级缓存就是为了解决读取内存   速度瓶颈;


而在Linux中可用内存到底怎么计算?

Linux是尽可能使用内存原则,内存会把剩余的空间申请为cache,而cache不属于free

当系统运行时间很长,我们会发现cache很大,就是这个道理

需要注意的是,当我们看到系统内存使用率很高,free几乎为0时,并不代表系统内存容量有瓶颈!只是系统充分发挥了内存作用。而当有进程需要申请大文件内存时,内核会将部分cache空间回收,回收的内存再分配给进程程序使用。


SO...


技术分享

可用内存= free + buffer + cache

内存可用率=1 - (buffer used / total)=1-(237/981)=76%

而不是:170/981=17%


buffer 和 cache 的区别

标签:linux buffer cache 内存 使用率

原文地址:http://lilongzi.blog.51cto.com/5519072/1795517

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!