用例子解释 Linux 中的自由命令

解释 Linux 中 Free 命令的输出

在 Linux 中使用 Free Command 非常简单。 这是 free 命令的语法:

自由 [options]

free 命令的示例输出可能如下所示:

[[email protected] ~]$ free  
              total       used        free      shared       buff/cache    available  
Mem:        8048372     2593004     1366712   658380       4088656      4494976
Swap:             0           0           0

自由 不带选项的命令通过访问来自 Linux 内核的信息返回系统上“total”、“used”和“free”内存的结果。 它还显示“共享”、“增益/缓存”和“可用”的类别。

为了避免一些潜在的混淆,让我们澄清这些术语的含义。

  • 全部的 很简单。 这个数字代表了所有现有的内存。
  • 用过的 是系统总内存减去分配的空闲内存、共享内存、缓冲区和高速缓存的计算。
  • 自由 是不用于任何目的的内存。
  • 共享、缓冲、 缓存 字段标识用于内核/操作系统需求的内存。 缓冲区和缓存加在一起,总和列在 ‘增益/缓存‘。
  • 可用的 内存出现在较新版本的 自由 旨在让最终用户估计仍有多少内存资源可供使用。

这些澄清很重要。 错误地赋予空闲或已用内存这两个术语的含义可能会导致对系统内存使用的误解。

这可能会导致没有经验的用户错误地认为他们的系统需要使用更多 RAM 进行升级。 请注意,在以前的版本中没有显示 可用的 记忆。 用户可能会错误地认为,由于内存使用率高,他们的硬件功率不足。 可用的选项卡大概是为了帮助抵消这种常见的误解而设置的。

Linux 操作系统使用缓存来提高性能。 在非常基本的术语中,这意味着在需要之前留出一定数量的内存以供使用,以便可以更快地处理它。 这是一个标准过程,无需担心,除非这些值对于您当前的使用来说似乎非常不寻常。

“可用”内存估计对于那些只想知道他们的系统怎样响应某些应用程序的人来说可能已经足够了。 如果您看不到此字段,则可能需要更新到最新版本的“免费”。 您可以通过运行“free -V”来检查当前版本。 我的 3.3.15 版在其输出中有“可用”。

自定义 free 命令的输出

默认输出以千字节为单位显示信息,但如果您愿意,可以选择以不同的格式显示。 运行帮助 (free -help) 会显示您可以附加的所有可能选项。

在我看来,这里最有用的选项是 -h,它以人类可读的格式显示 free 命令的输出。

[[email protected] ~]$ 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’ 可以单独使用或与 seconds 选项结合使用。 如果您只输入“-c”和一个整数 (n),它将运行命令 n 次。 默认情况下,它使用一秒间隔。

假设您想打开一系列应用程序并查看您的内存是怎样受到影响的。 对于我的测试输出,我将使用人类可读的格式,使用 1000 (Gb) 的幂而不是 1024 (GiB)。 我要记录 20 秒来分析影响。 我将每 5 秒捕获一次数据,并进行 4 次计数。 这是这个 example 格式化为命令行及其输出:

[[email protected] ~]$ 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”命令。 希望本指南对您有所帮助且易于理解。 “免费”可用于分析系统内存使用情况,并可使用其各种选项进行调整,以根据您的需要精细定制输出。

如果您有任何问题或建议,请在评测部分告诉我们。

相关阅读:

Posted in: Linux