如何才能从“free”命令的输出中获取“free swap”的值?

如何才能从“free”命令的输出中获取“free swap”的值?

我知道这free -m将打印所有可用和已用内存值,包括交换值。但是,我只想获取系统中可用交换量的数值。

我如何才能从命令中获取“自由交换”值free

答案1

man free

FILES
   /proc/meminfo
          memory information

您可以直接解析该文件,而不必通过free

$ awk '/SwapFree/' /proc/meminfo
SwapFree:        4007168 kB

或者,仅针对 MB 中的值:

$ awk '/SwapFree/ {print $2 / 1024}' /proc/meminfo
3913.25

答案2

我尝试看看是否有可能不使用其他命令来做到这一点free -m,但我无法找到这样的解决方案。

此命令可直接在命令行上运行,可为您提供“免费交换”的值free -m。如果您想要一个可以轻松调用的命令来运行此命令,可以将其放入脚本中:

free -m | grep "Swap" | awk '{ print $4 }'

相关内容