You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅用awk计算/proc/meminfo中MemTotal与MemFree的差值

解决方法

直接用awk的变量存储数值,最后在END模块计算差值即可,有两种常用写法:

写法一:按行内容匹配(更可靠,避免行序变化)

awk '/MemTotal/ {total=$2} /MemFree/ {free=$2} END {print total - free}' /proc/meminfo
  • 匹配到MemTotal行时,将第二列的内存值存入total变量
  • 匹配到MemFree行时,将第二列的内存值存入free变量
  • 所有行处理完成后(END块),计算并输出两者的差值

写法二:按行号匹配(贴合你之前的尝试,适用于前两行固定是MemTotal和MemFree的场景)

awk 'NR==1 {total=$2} NR==2 {free=$2} END {print total - free}' /proc/meminfo
  • 第一行(NR==1)读取MemTotal的数值存到total
  • 第二行(NR==2)读取MemFree的数值存到free
  • 最后输出差值

这两种写法都能直接得到内存使用量的结果,无需手动计算。

内容的提问来源于stack exchange,提问作者ProSystem101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:28:15