VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
https://blog.csdn.net/hovan/article/details/51924539
free -m含义
https://blog.csdn.net/bigdatahappy/article/details/41854689
procrank命令
procrank
PID Vss Rss Pss Uss cmdline
2260 1462560K 24324K 21570K 20932K /usr/bin/mico_dvb_server
2261 1957404K 30272K 17668K 12836K ./bin/sraf_browser_bin
2488 1162912K 23196K 12773K 8960K /usr/mnt_ott/sraf_browser/bin/sraf_browser_bin
2436 346784K 17948K 6861K 3428K /proc/self/exe
2490 399756K 11988K 3334K 748K /usr/mnt_ott/sraf_browser/bin/sraf_browser_bin
2336 163028K 6068K 3249K 2172K /usr/libexec/weston-keyboard
2422 91760K 13444K 3204K 144K /usr/mnt_ott/sraf_browser/bin/sraf_browser_bin
2222 102692K 4432K 2377K 1892K /usr/bin/weston
2337 162632K 4696K 2130K 1284K /usr/libexec/weston-desktop-shell
2252 154596K 3384K 1800K 1644K /usr/bin/logtask
2130 3428K 1616K 845K 800K /sbin/udevd
2323 152184K 1872K 596K 492K /usr/bin/systemcontrol
2241 3048K 1332K 533K 344K /usr/bin/dbus-daemon
2270 608336K 1228K 388K 356K dialserver
2180 3048K 1156K 371K 184K dbus-daemon
2232 2560K 1104K 314K 268K /usr/sbin/dnsmasq
11923 1784K 1052K 306K 272K procrank
2967 2500K 1380K 271K 192K -sh
2314 2500K 1224K 211K 148K -/bin/sh
2982 2500K 1320K 209K 128K -sh
2981 2504K 1300K 182K 100K telnetd
2966 2504K 1284K 178K 100K telnetd
2195 2500K 1060K 177K 136K /usr/sbin/inetd
2313 1956K 856K 166K 140K /usr/bin/tee-supplicant
2210 10200K 872K 162K 136K /usr/bin/rpcd
2207 10192K 884K 155K 128K /usr/bin/hotplugd
2472 2376K 876K 133K 84K udhcpc
2317 2372K 988K 125K 84K /sbin/klogd
2307 2372K 976K 123K 88K /sbin/getty
2127 2372K 960K 120K 80K /sbin/klogd
2310 2372K 832K 119K 80K /usr/bin/tail
2306 2372K 952K 119K 84K /sbin/getty
2124 2372K 964K 117K 76K /sbin/syslogd
2315 2372K 1032K 117K 72K /sbin/syslogd
1 2372K 748K 113K 88K init
------ ------ ------
81134K 58700K TOTAL
RAM: 486924K total, 258800K free, 4K buffers, 62240K cached, 1240K shmem, 35532K slab
获取rss内存使用情况
cat /mem_get.sh
#!/bin/sh
pids=`ps -A | awk '{print $1}'`
echo "" > /tmp/meminfo
echo ${pids}
for pid in ${pids};
do
cat /proc/${pid}/status >> /tmp/meminfo
done
cat /tmp/meminfo |grep -E 'Name|VmRSS' >/tmp/nameinfo
size_list=`cat /tmp/meminfo | grep "VmRSS" | awk '{print $2}'`
sizes=0
for list in ${size_list};
do
sizes=$((list+sizes))
done
cat /tmp/nameinfo
mb=0
mb=$((sizes/1024))
str_size="use mem szie: "${sizes}" KB : "${mb}" MB"
echo ${str_size}
top_size=`top -n 1 | grep "Mem"`
echo ${top_size}
echo ${str_size} >> /tmp/info_file
echo ${top_size} >> /tmp/info_file
echo "" >> /tmp/info_file
# cat /mem_total.sh
procrank |awk -F ' ' '{for(i=1;i<=2;i++)$i="";print $0}' |awk -F ' ' '{for(i=2;i<=2;i++)$i="";print $0}' |awk -F 'K' '{print $1}' >rss.txt;
TOTAL=`cat rss.txt |wc -l`
sed -i $(($TOTAL-3)),${TOTAL}d rss.txt
sed -i 1d rss.txt
now_total=`awk '{print $1}' rss.txt |awk '{sum+=$1}END{print sum}'`
now_total=$((now_total/1024))
#need blank space
#now_total=$(expr $now_total / 1024)
#now_total=`expr $now_total / 1024`
echo $now_total"M"