Linux中的free命令

时间:2020-03-05 15:26:50  来源:igfitidea点击:

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

在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版本中,输出可能会略有不同。

每列的含义如下:

  • 总数-此数字表示应用程序可以使用的内存总量。
  • 已使用-已使用的内存。计算公式为:“已用=总计-空闲-缓冲区-缓存”
  • 空闲-空闲/未使用的内存。
  • shared-此列无意义,可以忽略。仅在这里是为了向后兼容。
  • buff/cache-内核缓冲区以及页面缓存和slab使用的组合内存。如果应用程序需要,可以随时回收此内存。如果要将缓冲区和缓存显示在两个单独的列中,请使用“ -w”选项。
  • 可用-估计可用于启动新应用程序而无需交换的内存量。

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

默认情况下,“ free”命令以千字节为单位显示内存信息。
要以人类可读的格式(通常为兆字节和千兆字节)查看信息,请使用'-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 = 1000bytes)为单位。
  • '--mega'-以兆字节为单位显示输出。
  • '--giga'-以GB为单位显示输出。
  • '--tera'-以兆字节为单位显示输出。
  • '-k','--kibi'-以千字节为单位显示输出。 (1KiB = 1024bytes)。这是默认单位。
  • '-m','--mebi'-以兆字节为单位显示输出。
  • '-g','--gibi'-以gibytes显示输出。
  • '--tebi'-以兆字节为单位显示输出。
  • '--peti'-显示输出以PB为单位。
  • '--si'-使用1000的幂而不是1024. 例如,'--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”,后跟一个指定延迟的数字。

例如,要每五秒钟打印一次内存信息,请运行:

free -s 5

“ free”命令将继续显示结果,直到我们按下“ CTRL + C”。
这类似于'watch'命令的行为。

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

free -s 5 -c 10