内存使用率计算

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"%"}'


猜你喜欢

转载自blog.csdn.net/xin_yun_jian/article/details/80718640