在 也看linux内存去哪儿了 篇,最后提到精确计算rss内存的方法,这里写了一个简单的脚本,通过pmap遍历每个进程。将所有结果遍历汇总到一个文件后,再将使用相同的l内存地址的去重,完了再求和。脚本如下:
# cat rrs.sh #!/bin/bash filename=`cat /proc/sys/kernel/random/uuid` for PROC in `ls /proc/|grep "^[0-9]"` do pmap -xq $PROC|grep -v $PROC: >> /tmp/$filename done RRSvalue=`awk '{print $1,$3}' /tmp/$filename|awk '!a[$0]++'|awk 'BEGIN{sum=0}{sum+=$2}END{print sum}'` echo $RRSvalue"kB" rm -rf /tmp/$filename