我的Linux系统上有多少可用RAM内存?是否有足够的可用内存来安装和运行新应用程序?在Linux系统中,可以使用free
命令来获取系统内存使用情况的详细报告。
free
命令提供物理内存和交换空间总量以及系统中的可用和已用内存以及交换空间的信息。在本教程中,我们将说明如何使用free命令。包括free命令语法与选项。free输出列与行数据说明,以M/GB显示内存使用情况。显示列总计数。指定延时打印free命令的结果。指定连续打印free命令结果的次数。
如果你是新手,在阅读本教程之前我们建议阅读我们另外两篇教程。分别是:空闲内存与可用内存的区别与Linux性能:为什么你应该添加交换空间swap。以更好的管理内存。
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此数字表示估计可用于启动新应用程序而无需swap空间的内存量。
以M/GB显示内存使用情况
正如我们在上面的示例中看到的那样,默认情况下,free
命令以kibibyte为单位显示内存信息。要以以M/GB显示内存信息,请使用以下-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。--mega
以兆字节显示输出,即1MB。--giga
以GB为单位显示输出。--tera
以TB为单位显示输出。--peti
-显示输出以PB为单位。
例如,要以MB兆字节显示输出,请输入:
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命令的十次结果:
free -s 5 -c 10
结论
到目前为止,您应该对如何使用和解释free
命令有了很好的了解。要查看所有可用的free
命令行选项,请在终端中键入man free
。