在 Linux 中,可以通过 free 命令 查询内存使用情况,并使用 awkbc 命令计算出内存使用率。以下是具体方法:


1. 使用 freeawk 计算内存使用率

free 命令显示内存使用情况,awk 用于提取和计算数据。

命令:
free | awk '/Mem/{printf("内存使用率: %.2f%\n"), $3/$2*100}'
输出示例:
内存使用率: 41.23%
说明:
  • Mem:匹配内存行。
  • $3:已用内存(used)。
  • $2:总内存(total)。
  • printf("内存使用率: %.2f%\n"):格式化输出,保留两位小数。

2. 使用 freebc 计算内存使用率

bc 是一个高精度计算器,可以用于浮点数运算。

命令:
used=$(free | awk '/Mem/{print $3}')
total=$(free | awk '/Mem/{print $2}')
echo "内存使用率: $(echo "scale=2; $used/$total*100" | bc)%"
输出示例:
内存使用率: 41.23%
说明:
  • scale=2:设置 bc 的输出精度为两位小数。
  • $used/$total*100:计算内存使用率。

3. 使用 /proc/meminfoawk 计算内存使用率

/proc/meminfo 文件包含详细的内存信息。

命令:
awk '/MemTotal/{total=$2} /MemAvailable/{available=$2} END{printf("内存使用率: %.2f%\n"), (total-available)/total*100}' /proc/meminfo
输出示例:
内存使用率: 41.23%
说明:
  • MemTotal:总内存。
  • MemAvailable:可用内存。
  • (total-available)/total*100:计算内存使用率。

4. 使用 vmstatawk 计算内存使用率

vmstat 命令可以显示内存统计信息。

命令:
vmstat -s | awk '/total memory/{total=$1} /used memory/{used=$1} END{printf("内存使用率: %.2f%\n"), used/total*100}'
输出示例:
内存使用率: 41.23%
说明:
  • total memory:总内存。
  • used memory:已用内存。
  • used/total*100:计算内存使用率。

5. 使用 sarawk 计算内存使用率

sarsysstat 工具包的一部分,可以显示内存使用率。

命令:
sar -r 1 1 | awk '/Average:/{printf("内存使用率: %.2f%\n"), $4}'
输出示例:
内存使用率: 41.23%
说明:
  • Average::匹配平均内存使用率行。
  • $4:内存使用率字段。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐