Linux free命令:查看内存使用状态

free 命令用来显示系统内存状态,包括系统物理内存、虚拟内存(swap 交换分区)、共享内存和系统缓存的使用情况,其输出和 top 命令的内存部分非常相似。

free 命令的基本格式如下:

[root@localhost ~]# free [选项]

表 1 罗列出了此命令常用的选项及各自的含义。

表 1 free 命令常用选项及含义
选项 含义
-b 以 Byte(字节)为单位,显示内存使用情况。
-k 以 KB 为单位,显示内存使用情况,此选项是 free 命令的默认选项。
-m 以 MB 为单位,显示内存使用情况。
-g 以 GB 为单位,显示内存使用情况。
-t 在输出的最终结果中,输出内存和 swap 分区的总量。
-o 不显示系统缓冲区这一列。
-s 间隔秒数 根据指定的间隔时间,持续显示内存使用情况。

例如:

[root@localhost ~]# free -m
                  total       used    free   shared   buffers    cached
Mem:           725        666      59           0       132         287
-/+ buffers/cache:     245     479
Swap:           996            0     996

第一行显示的是各个列的列表头信息,各自的含义如下所示:
  • total 是总内存数;
  • used 是已经使用的内存数;
  • free 是空闲的内存数;
  • shared 是多个进程共享的内存总数;
  • buffers 是缓冲内存数;
  • cached 是缓存内存数。

Mem 一行指的是内存的使用情况;-/buffers/cache 的内存数,相当于第一行的 used-buffers-cached。+/buffers/cache 的内存数,相当于第一行的 free+buffers+cached;Swap 一行指的就是 swap 分区的使用情况。

可以看到,系统的物理内存为 725 MB,已经使用了 666 MB,空闲 59 MB。而 swap 分区总大小为 996 MB,目前尚未使用。