Linux 中的 Free 命令

我的 Linux 系统上有多少可用的 RAM 内存?是否有足够的可用内存来安装和运行新的应用程序?

在 Linux 系统中,您可以使用该 free 命令获取有关系统内存使用情况的详细报告。

free 命令提供有关物理和交换内存总量以及系统中的空闲和已用内存和交换空间的信息。

如何使用 free 命令

free 命令的语法如下:

free [OPTIONS]

在没有任何选项的情况下使用时,该 free 命令将显示有关内存和交换的信息,单位是 kibibyte , 1 kibibyte(KiB) 是 1024 字节。

free

输出将包括三行,一个标题,一行用于内存,一行用于交换:

              total        used        free      shared  buff/cache   available
Mem:        8075208     3204964     1310540      551232     3559704     4198340
Swap:       2097148           0     2097148

在较旧的 Linux 版本中,输出可能略有不同。

以下是每列的含义:

  • total - 此数字表示应用程序可以使用的内存总量。
  • used - 已使用的内存。计算方法如下: used = total - free - buffers - cache
  • free - 未使用的内存。
  • shared - 此列可以忽略,因为它没有任何意义。这只是为了向后兼容。
  • buff/cache - 内核缓冲区和页面缓存和 slab 使用的组合内存。如果应用程序需要,可以随时回收此内存。如果要将缓冲区和缓存显示在两个单独的列中,请使用该 -w 选项。
  • available - 无需交换即可用于启动新应用程序的内存量估计值。

以人类可读格式显示内存使用情况

正如我们在上面的示例中看到的,默认情况下,该 free 命令以 kibibyte 显示内存信息。要以人类可读的格式(通常为兆字节和千兆字节)查看信息,请使用以下 -h 选项:

free -h
              total        used        free      shared  buff/cache   available
Mem:           487M        219M         54M        4.5M        214M        228M
Swap:          1.5G          0B        1.5G

显示其他指标中的内存使用情况

free 命令还允许您指定测量内存的单位。有效选项包括:

  • -b--bytes- 以字节为单位显示输出。
  • --kilo - 以千字节 (1KB = 1000 字节)显示输出。
  • --mega - 以兆字节为单位显示输出。
  • --giga - 以千兆字节显示输出。
  • --tera - 以兆兆字节显示输出。
  • -k--kibi- 以千比特显示输出。 (1KiB = 1024 字节)。这是默认单位。
  • -m--mebi- 以 mebibytes 显示输出。
  • -g--gibi- 以 gibytes 显示输出。
  • --tebi - 以 tebibytes 显示输出。
  • --peti - 以 pebibytes 显示输出。
  • --si- 而不是 1024 ,使用 1000 的幂。例如 --mebi --si 等于 --mega

例如,要以兆字节为单位显示输出,请键入:

free --mega
              total        used        free      shared  buff/cache   available
Mem:           8075        4022         233         614        3819        3336
Swap:          2097           0        2097

显示列总计

要显示汇总行,请使用该 -t 选项。这将为您提供总数,已用数和空闲列中的内存和交换总和。

free -h -t
              total        used        free      shared  buff/cache   available
Mem:           7.7G        3.9G        483M        526M        3.4G        3.2G
Swap:          2.0G          0B        2.0G
Total:         9.7G        3.9G        2.5G

连续打印输出

要在屏幕上连续显示内存信息,请使用 -s--seconds 选项后跟一个指定延迟的数字。

例如,要每隔五秒打印一次内存信息:

free -s 5

free 命令将继续显示结果,直到您按下 CTRL+C 。这与 watch 命令的行为类似。

要显示特定次数的结果,请使用 -c--count 选项。在下面的示例中,命令将打印十次结果:

free -s 5 -c 10

结论

到目前为止,您应该很好地理解如何使用 free 命令。要查看终端中所有可用的 free 命令行选项 ,请键入 man free