专栏名称: Linux爱好者
伯乐在线旗下账号,「Linux爱好者」专注分享 Linux/Unix 相关内容,包括:工具资源、使用技巧、课程书籍等。
今天看啥  ›  专栏  ›  Linux爱好者

【内存】buffers与cached的区别

Linux爱好者  · 公众号  · linux  · 2024-08-21 11:45

文章预览

转自:网络 free 命令是Linux系统上查看内存使用状况最常用的工具,然而很少有人能说清楚 “buffers” 与 “cached” 之间的区别: 我们先抛出结论,如果你对研究过程感兴趣可以继续阅读后面的段落: buffers 表示块设备(block device)所占用的缓存页,包括:直接读写块设备、以及文件系统元数据 (metadata) ,比如 SuperBlock 所使用的缓存页; cached 表示普通文件数据所占用的缓存页。 下面是分析过程: 先用 strace 跟踪 free 命令,看看它是如何计算 buffers 和 cached 的: # strace free ... open( '/proc/meminfo' , O_RDONLY)         = 3 lseek(3, 0, SEEK_SET)                   = 0 read (3,  'MemTotal:        3848656 kB\nMemF' ..., 2047) = 1170 ... 显然 free 命令是从 /proc/meminfo 中读取信息的,跟我们直接读到的结果一样: # cat /proc/meminfo MemTotal:        3848656 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览