free
一、
查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。
[root@localhost ~]# free -mtotal used free shared buffers cached
Mem: 980 140 839 0 8 42
-/+ buffers/cache: 90 890
Swap: 2047 0 2047
字段说明:
total:总内存
used:已使用内存
free:空闲内存
shared:多个进程共享的内存
buffers:缓冲内存
cached:缓存内存
第二行以操作系统角度
对于OS,buffers和cached属于被使用。
total=used+free
第三行以应用软件角度
第三行指缓冲/缓存的已用内存和空闲内存。
对于应用,buffers和cached属于未使用,可供调用的,可以提高文件读取性能。
-/+ buffers/cache.free[应用可用内存] = Mem.free + Mem.buffers + Mem.cached
-/+ buffers/cache.used[应用已用内存] = Mem.total - (-/+ buffers/cache.free)
第四行即交换分区SWAP,虚拟内存
二、
[root@wenzi wenzi]# free -mtotal used free shared buff/cache available
Mem: 791 180 280 5 330 478
Swap: 2047 0 2047
高版本系统没有 -/+ buffers/cache ,新增 available.
available:在不进行交换的情况下,估计启动新应用程序可用的内存。与cache或free字段提供的数据不同,该字段考虑了页面缓存,并且由于项目正在使用,并非所有可回收内存板都将被回收(MemAvailable在/proc/meminfo中,在内核3.14上可用,在内核2.6.27+上模拟,否则与free相同)。
Mem.used = Mem.total - Mem.free - Mem.buff/cache