free命令和/proc/meminfo 可以查看内存使用情况
1.此处使用/proc/meminfo 文件来计算内存占用率
#!/bin/bash
# 内存占用率 = (MemTotal - MemFree - Inactive) / MemTotal
meminfo=$(cat /proc/meminfo)
MemTotal=$(echo "${meminfo}" | grep "MemTotal" | awk '{print $2}' )
MemFree=$(echo "${meminfo}" | grep "MemFree" | awk '{print $2}' )
Inactive=$(echo "${meminfo}" | grep "Inactive:" | awk '{print $2}' )
mem_used=$(echo "${MemTotal} - ${MemFree} - ${Inactive} "|bc)
mem_used_per=$(echo "${mem_used}*100/${MemTotal}"|bc)
echo "total mem: ${MemTotal} KB , used mem: ${mem_used} KB, used percent: ${mem_used_per} %"
2.使用free命令计算:
free -k | sed -n '2p' | awk '{print "total: "$2" KB, used: "$3" KB,used percent: "$3*100/$2"%"}'