需求:

写一个脚本计算一下linux系统所有进程占用内存大小的和。(提示,使用ps或者top命令)

#!/bin/bash
time=`date +%y-%m-%d-%H:%M:%S`
##方法一
s=0
for m in `ps aux |awk '{print $6}' |grep -v 'RSS'`
do
((s+=$m))
done
echo "$time所有进程占用内存的和为 $s k " 
echo "=========================="
##方法二
sum=0
for q in `ps aux |awk '{print $6}' |grep -v 'RSS'`
do
sum=$[$sum+$q]
done
echo "$time所有进程占用内存的和为 $sum k"       
echo "========================" 
##方法三
top -bn1 |sed '1,7'd >top.txt
echo "$time所有进程占用内存的和为 `awk '{(zh=zh+$6)}; END {print zh}' top.txt` k"
echo "========================="
##方法四
n=`top -bn1 |sed '1,7'd |awk '{(su=su+$6)};END {print su}'`
echo "$time所有进程占用内存的和为 $n k"
echo "========================="
##方法五
d=`ps aux |grep -v 'RSS TTY' |awk '{(sum=sum+$6)};END {print sum}'`
echo "$time所有进程占用内存的和为 $d k "