procrank命令

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"

 

你可能感兴趣的:(转载)