我知道这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 }'