Linux 使用記憶體分析

csbin發表於2014-01-16

http://blog.yufeng.info/archives/2456

 

統計所有程式記憶體大小

$ cat RSS.sh  
#/bin/bash 
for PROC in `ls  /proc/|grep "^[0-9]"`  
do 
  if [ -f /proc/$PROC/statm ]; then 
      TEP=`cat /proc/$PROC/statm | awk '{print ($2)}'`  
      RSS=`expr $RSS + $TEP`  
  fi 
done 
RSS=`expr $RSS \* 4`  
echo $RSS"KB" 

$ ./RSS.sh    
7024692KB 

統計程式記憶體+slab+pagetable

$ cat cm.sh  
#/bin/bash  
for PROC in `ls /proc/|grep "^[0-9]"`  
do 
  if [ -f /proc/$PROC/statm ]; then 
      TEP=`cat /proc/$PROC/statm | awk '{print ($2)}'`  
      RSS=`expr $RSS + $TEP`  
  fi 
done 
RSS=`expr $RSS \* 4`  
PageTable=`grep PageTables /proc/meminfo | awk '{print $2}'`  
SlabInfo=`cat /proc/slabinfo |awk 'BEGIN{sum=0;}{sum=sum+$3*$4;}END{print sum/1024/1024}'`  
echo $RSS"KB", $PageTable"KB", $SlabInfo"MB" 
printf "rss+pagetable+slabinfo=%sMB\n" `echo $RSS/1024 + $PageTable/1024 + $SlabInfo|bc`  

free -m  

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/720091/viewspace-1071414/,如需轉載,請註明出處,否則將追究法律責任。

相關文章