作者 vmunix
据说很少有人能说清楚 free 命令所显示的 “buffers” 与 “cached” 之间的区别:
那我们来挑战一下如何?就从分析 free 命令开始吧。先用 strace 跟踪一下,看能不能发现 free 命令是如何计算 “buffers” 和 “cached” 的:
很显然,free 命令是从 /proc/meminfo 中读取信息的,跟我们直接读到的结果一样:
那么 /proc/meminfo 中的 “Buffers” 和 “Cached” 又是如何得来的呢?这回没法偷懒,只能去看源代码了。源代码文件是:fs/proc/meminfo.c ,[……]