free命令

free命令

此命令用于显示系统内存的使用情况,包括总体内存、已经使用的内存。
还可用于显示系按内核使用的缓冲区,包括缓冲(buffer)和缓存(cache)等。

使用方式:

free

命令输出:

[root@fdb2e117e3a5 /]# free -h
total used free shared buff/cache available
Mem: 2.0G 318M 96M 788K 1.5G 1.5G
Swap: 1.0G 0B 1.0G

解析

内存并不只有占用和空闲两个简单状态,我们从上面的输出中发现其中有buffers和cached的数据,从字面意义上来讲,都是缓存,只有弄清楚缓存了什么数据才能有效地区分这两种缓记存。

(1)buffers一般都不太大,在一个通用的Linux系统中一般为几十到几百MB字节,用于存储磁盘块设备的元数据,比如哪些块属于哪些文件、文件的权限、目录等信息。
(2)cached会很大,一般都在GB字节以上,用于存储读写文件的页。当对一个文件进行读时,会取磁盘文件页放到其内存区域,然后从内存中进行读取。
在写入一个文件时,会先写到其缓存中,并将相关的页面标记为“dirty”。
cached随着读写磁盘的多少而自动地增加或减少,这也取决于物理内存是否够用,如果应用使用的物理内存较多,则操作系统会适当缩小 cached来保证用户进程对内存的需要。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容