我的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
,请在终端中键入。