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来保证用户进程对内存的需要。

你可能感兴趣的:(free命令)