您的位置:首页 > Web前端

buffer 和 cache 的区别

2016-07-04 10:36 183 查看
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%
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: