ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【linux】free命令中cached和buffers的区别

【linux】free命令中cached和buffers的区别

Linux操作系统 作者:不一样的天空w 时间:2020-05-14 15:10:04 0 删除 编辑

https://www.cnblogs.com/chenpingzhao/p/5161844.html


在linux下使用free命令查看内存使用情况,有buffers和cached两项,以下是它们的区别:

cached是cpu与内存间的,buffer是内存与磁盘间的,都是为了解决速度不对等的问题

buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的

buffer :作为buffer cache的内存,是块设备的读写缓冲区 

cache:作为page cache的内存, 文件系统的cache 

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


buffers是为块设备设计的缓冲。比如磁盘读写,把分散的写操作集中进行,减少磁盘I/O,从而提高系统性能。比如入U盘里cp一个文件,但是U盘读写指示灯未闪动,过了一会儿才闪动。卸载时会清空缓冲,所以有时卸载一个设备需要等待几秒。


cached是缓存读取过的内容,下次再读时,如果在缓存中命中,则直接从缓存读取,否则读取磁盘。由于缓存空间有限,过一段时间以后没用的缓存会被移动到swap里面,所以有时看到物理内存还有很多,swap就被利用了。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31397003/viewspace-2692153/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: IO测试工具之fio
请登录后发表评论 登录
全部评论

注册时间:2016-09-22

  • 博文量
    916
  • 访问量
    1400246