暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux free命令中shared,buff/cache含义解释

运维笔谈 2024-03-04
25

们在执行在Linux的`free`命令输出中,内存统计信息的shared,buffer,cache分别是什么意思呢?

1. buffer
- 缓冲区(buffers)是操作系统用来临时存储I/O数据的内存区域。例如,当读写文件时,内核会将磁盘上的数据暂时存放在缓冲区内,以便快速处理后续的I/O请求。这样可以提高系统性能,减少对磁盘的直接访问。

2. cached (现在通常合并为 cache)
- 缓存(cache)主要指的是页面缓存或文件缓存。这部分内存用来存储最近访问过的文件内容,使得再次访问同一文件时能更快地从内存而不是硬盘中读取数据。还包括inode缓存等内核用于加速文件系统操作的数据结构。

3. shared (在较新版本的free命令中可能不再显示)
- 共享内存(shared memory),是指多个进程之间共享并可以同时访问的内存区域。表示系统中被多个进程共享的物理内存大小。

4. buff/cache
- 在较新的Linux内核和`free`命令,buffers和cached被合并显示为“buff/cache”。表示这部分内存虽然已经被分配,但由于它们属于可快速回收的缓存资源,所以被认为是可用内存的一部分。

看到`free`命令输出中的"buff/cache"时,表示当前系统中用于缓冲和缓存目的的内存总量,这些内存可以根据需要随时被释放给其他应用程序使用。

文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论