Linux中的缓冲区和高速缓存有什么区别?

新手上路,请多包涵

对我来说,不清楚这两个 Linux 内存概念之间有什么区别: buffercache 。我已经阅读了 这篇文章,在我看来,它们之间的区别在于到期政策:

  1. 缓冲区的策略是先进先出
  2. 缓存的策略是最近最少使用的。

我对吗?

特别是,我正在查看两个命令: freevmstat

 james@utopia:~$ vmstat -S M
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
5  0      0    173     67    912    0    0    19    59   75 1087 24  4 71  1
james@utopia:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2007       1834        172          0         67        914
-/+ buffers/cache:        853       1153
Swap:         2859          0       2859

原文由 James.Xu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 829
2 个回答

缓冲区与特定的块设备相关联,涵盖文件系统元数据的缓存以及跟踪运行中的页面。缓存仅包含停放的文件数据。也就是说,缓冲区会记住目录中的内容、文件权限,并跟踪特定块设备正在写入或读取的内存。缓存只包含文件本身的内容。

报价链接

原文由 xoy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题