free命令简介
本文主要介绍free命令的作用与日常使用案例,该命令是Linux日常维护中最常用的命令这一,用于检视系统内存使用情况。
举例1:最常用的方式
以m为单位显示目前内存使用情况:
[[email protected] ~]# free -m
total used free shared buff/cache available
Mem: 96469 50698 7353 4191 38418 39661
Swap: 4087 177 3910
可以看出这台服务器的内存大小为96G,已使用50G,空闲7G,共享4G,buff/cache共38G。有效内存为39G。
以m为单位显示目前内存使用情况
total:实体内存总数
used:已使用
free:空闲未分配
shared:共享内存,程序间共享的内容。
buff/cache:快取
available:有效空间
我们先来理清楚一些概念。
buff/cache翻译起来都叫快取。
buff指的是准备写入磁盘的资料,相当于块装置的快取。
cache指的是从磁盘中读出的资料,储存在内容中以便随时可以读取。
buff/cache虽然占用了内存,但会随程式内存占用情况随时腾出空间。所以看内存占用情况绝不能看free。这是Linux内存优化的其中一种措施(放着也没用,还不如利用起来)。buff/cache本身的作用是利用内存快速存取磁盘资料。
free=total-used-buff/cache
对应以上资料,得出以下公式:
7353=96469-50698-38418
swap:Linux的交换分割槽,类似于Windows系统上的页面档案。但Linux上的swap空间支援单独分割槽与档案两种形式。它的作用是,当实体内存不够用时,从磁盘中划分一部分空间出来当内存使用。但存取速度与实体内存的速度可能相差几千倍。
举例2:定时更新
每隔3秒更新一次内存状态:
[[email protected] ~]# free -m -s 3
total used free shared buff/cache available
Mem: 96469 50695 7339 4199 38434 39656
Swap: 4087 176 3911
以m为单位每隔3秒更新一次内存使用状态
free命令是Linux运维人员最常用的命令之一,是系统监控必须使用的命令,简单高效快速对系统影响不大。





























