脚本内容如下: #!/bin/sh
if test $# -eq 2
then
username=$1
resindex=$2
summ=`top -n 1 -u $username |awk -v res=$resindex '$res ~/m$/ {print substr($res,0,index($res,"m")-1)}'|awk 'BEGIN {sum=0}{sum+=$1} END {print sum}'`
echo "user $1 used memory sum = $summ m"
else
echo "Usage: $0 <username> <res-index>"
exit
fi
简单写了各,小于1m的不能计算。大家可以优化。或者有简单的方式。