对我来说,不清楚这两个Linux内存概念之间的区别是什么:buffercache.我通读了this post本书,在我看来,它们之间的区别在于过期政策:

  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

推荐答案

"缓冲区"表示RAM中有多少部分专用于缓存磁盘块."Cached"与"Buffers"类似,只是这次它缓存了文件读取的页面.

引自:

Linux相关问答推荐

使用awk以相同的时间戳重新排列

在 bash 中使用 tee 时如何返回错误代码

Linux:用户态线程在执行系统调用时是否有更高的优先级?

用于替换 struct 文档中文本的 Bash 脚本

将行转换为一条

如何在守护进程中使用 popen() 和 pclose() 获取通过管道执行的 shell 命令的正确退出代码?

在 puppet 中管理 linux 的用户密码

如何安装脚本以从命令行的任何位置运行?

为什么 perf 不报告缓存未命中?

-zxvf 在 tar -zxvf <文件名> 中是什么意思?

什么是最有效的不区分大小写的 grep 用法?

如何在 Linux 中为 C 或 C++ 的进程设置 CPU 亲和性?

一个进程如何拦截Linux上另一个进程的stdout和stderr?

在 Emacs 中匹配括号的命令是什么?

使用 C++ 代码在 Linux 中清除终端

比较两个图像的 python/linux 方式

用curl编译php,curl安装在哪里?

如何将所有文件从一个目录移动(和覆盖)到另一个目录?

带有日期和时间的 Linux 命令历史记录

更改 /etc/profile 后,我需要做什么来重置我的 shell?