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

每列的含义如下:

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

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

正如我们在上面的示例中看到的那样,默认情况下,该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 = 1000bytes)为单位。
  • --mega -以兆字节显示输出。
  • --giga -以GB为单位显示输出。
  • --tera -以TB为单位显示输出。
  • -k--kibi-以千字节为单位显示输出。(1KiB = 1024bytes)。这是默认单位。
  • -m--mebi-以兆字节显示输出。
  • -g--gibi-以gibytes显示输出。
  • --tebi -以兆字节为单位显示输出。
  • --peti -显示输出以PB为单位。
  • --si-使用1024的幂而不是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 -s 5

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

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

free -s 5 -c 10

结论

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

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持