linux命令free显示的cached和buffers有什么区别?

linux命令free显示的cached和buffers有什么区别?

回复
阅读 6.3k
3 个回答

A buffer is something that has yet to be "written" to disk.
A cache is something that has been "read" from the disk and stored for later use.

这是2个不同的概念来的。cached是cpu与内存间的,buffer是内存与磁盘间的,都是为了解决速度不对等的问题。
total used free shared buffers cached
Mem: 32058 23868 8189 0 400 18485
-/+ buffers/cache: 4982 27075
Swap: 7999 0 7999
从上面的信息可以看出。系统实际用了23868M,而buffers用了400,cached用了18485,前面的23868是包含了后面400的buffers和18485的cached,所以系统的物理内存的真实使用量是-buffers/cache=23868-400-18485=4983,为什么这样计算呢,因为buffers和cache其实也是内存的一部分,这部分特殊的内存是可以回收的,甚至如果需要我们还可以将这部分buffers和cache给释放出来,获得这部分的内存。

cache是对文件内容的缓存,buffer是对文件系统层面的缓存。

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