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命令详解的主要内容,如果未能解决你的问题,请参考以下文章