在 Bash 脚本中,可以通过 free 命令获取内存利用率,然后结合 awk 和条件判断语句实现监控内存利用率是否高于 60%。以下是一个示例脚本:
1. 示例脚本
#!/bin/bash
# 获取总内存和已使用内存
total_mem=$(free | awk '/Mem:/ {print $2}')
used_mem=$(free | awk '/Mem:/ {print $3}')
# 计算内存使用率
mem_usage=$(awk "BEGIN {print ($used_mem / $total_mem) * 100}")
# 判断内存使用率是否超过 60%
if (( $(echo "$mem_usage > 60" | bc -l) )); then
echo "内存利用率高于 60%: 当前使用率为 ${mem_usage}%"
else
echo "内存利用率低于或等于 60%: 当前使用率为 ${mem_usage}%"
fi
2. 简洁版本
#!/bin/bash
# 获取内存使用率
mem_usage=$(free | awk '/Mem:/ {print $3/$2 * 100}')
# 判断是否高于 60%
if (( $(echo "$mem_usage > 60" | bc -l) )); then
echo "内存利用率高: ${mem_usage}%"
else
echo "内存利用率正常: ${mem_usage}%"
fi
2.1. 说明
free | awk '/Mem:/ {print $3/$2 * 100}':直接计算使用率百分比。

最低0.47元/天 解锁文章
2231

被折叠的 条评论
为什么被折叠?



