free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等
free参数 | |
-b | 以Byte为单位显示内存使用情况 |
-k | 以KB为单位显示内存使用情况 |
-m | 以MB为单位显示内存使用情况 |
-g | 以GB为单位显示内存使用情况 |
-o | 不显示缓冲区调节列 |
-s<间隔秒数> | 持续观察内存使用状况 |
-t | 显示内存总和列 |
-V | 显示版本信息 |
[root@C7--01 ~]# free
total used free shared buff/cache available
Mem: 999696 132260 547000 6888 320436 673340
Swap: 2097148 0 2097148
第一行 | |
Mem | 表示物理内存统计 |
total | 表示物理内存总量 |
used | 表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用 |
free | 未被分配的内存 |
shared | 共享内存 |
buffers | 系统分配但未被使用的buffers 数量 |
cached | 系统分配但未被使用的cache 数量 |
-/+ buffers/cached (这里没有显示但不一定没有) | 表示物理内存的缓存统计 |
used | 也就是第一行中的used - buffers-cached 也是实际使用的内存总量 |
free | 未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存 |
第三行 | |
Swap | 表示硬盘上交换分区的使用情况 |
指的是从应用程序角度来看
对于应用程序来说,buffers/cached 是等于可用的
因为buffer/cached是为了提高文件读取的性能
当应用程序需在用到内存的时候,buffer/cached会很快地被回收
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached
[root@C7--01 ~]# cat /proc/meminfo #查看缓存详细信息
MemTotal: 999696 kB
MemFree: 546108 kB
MemAvailable: 673416 kB
Buffers: 2772 kB
Cached: 230540 kB
SwapCached: 0 kB
........
....
..