跳到主要内容

Linux free 命令 - 显示内存使用情况

介绍

free 命令用于显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区(buffer)内存。其显示的信息来自 /proc/meminfo 文件。

在 Linux 系统监控的工具中,free 命令是最经常使用的命令之一。

语法

free [options]

参数

  • -b, --bytes :以 Bytes 为单位显示内存使用情况。
  • -k, --kibi :以 Kibibytes 为单位显示内存使用情况(默认)。
  • -m, --mebi :以 Mebibytes 为单位显示内存使用情况。
  • -g, --gibi :以 Gibibytes 为单位显示内存使用情况。
  • --tebi :以 Tebibytes 为单位显示内存使用情况。
  • --pebi :以 Pebibytes 为单位显示内存使用情况。
  • --kilo :以 Kilobytes 为单位显示内存使用情况。
  • --mega :以 Megabytes 为单位显示内存使用情况。
  • --giga :以 Gigabytes 为单位显示内存使用情况。
  • --tera :以 Terabytes 为单位显示内存使用情况。
  • --peta :以 Petabytes 为单位显示内存使用情况。
  • -h, --human :以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。
  • -w, --wide :以 wide 模式显示,每行长度超过 80 个字符,buffers 和 cache 会分开两列显示。
  • -c, --count count :显示结果统计次数,需要结合 -s 选项。
  • -l, --lohi :显示详细的低和高内存统计信息。
  • -s, --seconds delay :以 delay 秒为间隔连续显示。
  • --si :使用 kilo、mega、giga 等(1000 倍)替代 kibi、mebi、gibi(1024 倍)。
  • -t, --total :增加一行显示列总计。
  • --help :显示帮助信息。
  • -V, --version :显示版本信息。

示例

显示系统内存使用情况

$ free
total used free shared buff/cache available
Mem: 7887904 2914244 1405500 352828 3568160 4316020
Swap: 16438268 0 16438268

加上 -h 选项,输出的结果会友好很多

$ free -h
total used free shared buff/cache available
Mem: 7.5Gi 2.8Gi 1.3Gi 344Mi 3.4Gi 4.1Gi
Swap: 15Gi 0B 15Gi

输出内容解释:

  • Mem 行是内存的使用情况。
  • Swap 行是交换空间的使用情况。
  • total 列显示系统总计可用物理内存和交换空间大小。
  • used 列显示已用的物理内存和交换空间。
  • free 列显示还有多少空闲的物理内存和交换空间可以使用。
  • shared 列显示共享内存大小。
  • buff/cache 列显示内核缓冲区/页面高速缓存使用的组合内存。
  • available 列显示还可以被应用程序使用的物理内存大小。

每隔1秒打印一次内存使用情况

$ free -h -s 1

利用 watch 命令也能达到循环输出的效果

$ watch -n 1 free -h