Linux 中的自由命令:通过示例进行解释
如果您想了解有关 Linux 系统上内存可用性的详细信息,free 命令是一个简单的实用程序,可以轻松查找各种用例的实时结果。
解释 Linux 中 Free 命令的输出
在 Linux 中使用 Free Command 非常简单。以下是 free 命令的语法:
免费[选项]
free 命令的示例输出可能如下所示:
[chris@machine ~]$ free
total used free shared buff/cache available
Mem: 8048372 2593004 1366712 658380 4088656 4494976
Swap: 0 0 0
不带选项的 free 命令通过访问 Linux 内核的信息返回系统上“总”、“已用”和“可用”内存的结果。它还显示“共享”、“缓冲/缓存”和“可用”类别。
为了避免一些潜在的混淆,让我们澄清这些术语的含义。
总计很简单。该数字代表所有现有内存。
已用是总系统内存减去分配的空闲内存、共享内存、缓冲区内存和高速缓存内存的计算结果。
空闲是指未用于任何目的的内存。
共享、缓冲区和缓存字段标识用于内核/操作系统需求的内存。缓冲区和缓存相加,总和列在“buff/cache”下。
可用内存出现在较新版本的免费中,旨在让最终用户估计有多少内存资源仍可供使用。
这些澄清很重要。错误地解释术语“可用内存”或“已用内存”的含义可能会造成对系统内存使用的误解。
这可能会导致没有经验的用户错误地认为他们的系统需要升级为更多 RAM。请注意,在以前的版本中,没有显示可用内存。用户可能会错误地认为,由于内存使用率较高,因此他们的硬件动力不足。可用选项卡可能是为了帮助消除这种常见的误解而设置的。
Linux 操作系统使用缓存来提高性能。从非常基本的角度来说,这意味着在需要之前预留一定量的内存以供使用,以便可以更快地处理它。这是一个标准过程,无需担心,除非这些值对于您当前的使用来说非常不寻常。
对于那些只想知道系统如何响应某些应用程序的人来说,“可用”内存估计可能已经足够了。如果您看不到此字段,您可能需要更新到最新版本的“免费”。您可以通过运行“free -V”来检查当前版本。我的版本 3.3.15 的输出中有“可用”。
自定义 free 命令的输出
默认输出以千字节为单位显示信息,但如果您愿意,可以选择以不同格式显示信息。运行帮助(free -help)会显示您可以附加的所有可能选项。
我认为这里最有用的选项是 -h,它以人类可读的格式显示 free 命令的输出。
[chris@machine ~]$ free -h
total used free shared buff/cache available
Mem: 7.7Gi 2.5Gi 1.5Gi 479Mi 3.7Gi 4.4Gi
Swap: 0B 0B 0B
还有其他选择。它们通过一些基本的数学转换显示相同的请求信息。我认为人类可读的选项(free -h)对于日常用户来说是最有效的选项之一。
自动执行 free 命令并连续或定期运行
另一个很棒的功能是自动执行命令的能力。有两个选项可以帮助我们自定义此工具:
有“-s”,它在指定的秒数间隔内运行 free 命令,直到用户退出程序 (^+C)。
还有“-c”,可以单独使用或与秒选项结合使用。如果您只输入“-c”和一个整数(n),它将运行该命令 n 次。默认情况下,它使用一秒的间隔。
假设您想打开一系列应用程序并查看您的记忆受到的影响。对于我的测试输出,我将使用人类可读的格式,使用 1000 (Gb) 的幂而不是 1024 (GiB)。我将录制 20 秒来分析影响。我将每 5 秒捕获一次数据,并计数 4 次。以下是针对命令行及其输出进行格式化的示例:
[chris@machine ~]$ free -h --si -s 5 -c 4
total used free shared buff/cache available
Mem: 7.9G 2.8G 1.2G 501M 3.8G 4.2G
Swap: 0B 0B 0B
total used free shared buff/cache available
Mem: 7.9G 2.8G 1.2G 501M 3.8G 4.2G
Swap: 0B 0B 0B
total used free shared buff/cache available
Mem: 7.9G 2.9G 1.1G 549M 3.9G 4.1G
Swap: 0B 0B 0B
total used free shared buff/cache available
Mem: 7.9G 3.0G 998M 553M 3.9G 4.0G
Swap: 0B 0B 0B
我等了几秒钟,然后打开了几个浏览器选项卡并访问了一些书签。这些活动的压力通过产出的波动来体现。请注意,使用舍入较少的输出格式效果会更明显。出于我们纯粹的演示目的,这是不必要的。
如果您想使用 free 命令持续监控内存使用情况,但又不希望其输出使屏幕混乱,可以将 watch 命令与 free 命令一起使用。
这将只显示 free 命令的一个输出,但该输出将定期更改。
watch free -h
结论
本教程演示了如何开始在 Linux 中使用“free”命令。希望本指南对您有所帮助且易于理解。 “Free”可用于分析系统内存使用情况,并可使用其各种选项进行调整,以根据您的需求精细定制输出。
如果您有任何疑问或建议,请在评论部分告诉我们。