free命令详解

Posted tunan-ki

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了free命令详解相关的知识,希望对你有一定的参考价值。

free命令用于系统内存使用情况的查询,包括空闲内存、已用内存、用于交换的内存,以及被内核使用的缓冲区和缓存信息

用法:

  free [options]

常用选项:

  -h:便于阅读方式

  -c#:显示次数

  -s#:次数间隔(秒)

[root@aliyun ~]# free -h 
              total        used        free      shared  buff/cache   available
Mem:           1.8G        829M         66M        368K        943M        834M
Swap:            0B          0B          0B

free从/proc/meninfo收集到以下信息:

Men:内存的使用情况

Swap:交换空间的使用情况

total:总内存

used:已经使用的内存

shared:共享内存(主要被tmpfs使用的内存)

buff/cache:buff和cache的和

available:启动新进程时可用的内存

 

解读:

buffer 在操作系统中指 buffer cache, 中文一般翻译为 "缓冲区"。

cache 在操作系统中指 page cache,中文一般翻译为 "页高速缓存"。页高速缓存是内核实现的磁盘缓存。它主要用来减少对磁盘的 I/O 操作。

free 是真正尚未被使用的物理内存数量。

available 是从应用程序的角度看到的可用内存数量。Linux 内核为了提升磁盘操作的性能,会消耗一部分内存去缓存磁盘数据,就是我们介绍的 buffer 和 cache。所以对于内核来说,buffer 和 cache 都属于已经被使用的内存。当应用程序需要内存时,如果没有足够的 free 内存可以用,内核就会从 buffer 和 cache 中回收内存来满足应用程序的请求。所以从应用程序的角度来说,available  = free + buffer + cache。请注意,这只是一个很理想的计算方式,实际中的数据往往有较大的误差。

以上是关于free命令详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux上的free命令详解

free命令详解

free命令详解

free命令详解-1

free命令详解

linux free命令详解