#!/bin/sh #ALL_SERVER="dispatcher_server filecachedserver system_server #av_server.out alg_proc onvifserver fake_web_server http_sender #business_server tcp_server vzlogserverapp" ALL_SERVER="log_server dp_server system_server_app extern_device_app media_server_app_v2 alg_server_app record_server_app xtp_push_app bus_server_app batch_server_app devgrp_server_app web_run_rx tcp_rx_app onvif_server_app stp_server_app gb28181_rx_app etc_server_app link_visual_app oem_multicast_app interact_device_app" printname() { printf "%-10s %-20s %-20s %-10s %-10s %-10s %-10s %-10s %-10s %-10s\n" "Pid" "ProcName" "PssDeletedMem" "RssFile" "RssShmem" "RssAnon" "VmRSS" "ThrNum" "RssAnon-Sum" "VmRSS-Sum" return 0 } RSize=0 VSize=0 PSize=0 printvalue() { RSize=0 VSize=0 PSize=0 cd /proc for ecpt in $ALL_SERVER do # echo $ecpt allprocid=`ps | grep $ecpt | grep -v '/bin/sh' | grep -v 'grep' | awk '{print $1}'` # echo $allprocid for procid in $allprocid do SizeM=`cat $procid/status|grep 'VmSize'|awk '{print $2}'` RssM=`cat $procid/status|grep 'VmRSS'|awk '{print $2}'` RssAnon=`cat $procid/status|grep 'RssAnon'|awk '{print $2}'` RssFile=`cat $procid/status|grep 'RssFile'|awk '{print $2}'` RssShmem=`cat $procid/status|grep 'RssShmem'|awk '{print $2}'` ThreadsNum=`cat $procid/status |grep 'Threads'|awk '{printf $2}'` #PssM=`cat $procid/smaps | grep 'Pss'|awk '{print $2}'` #PssSharedM=`cat $procid/smaps | grep '\.so' -A 3 | grep 'Pss'|awk '{print $2}'` #PssDeletedM=`cat $procid/smaps | grep 'delete' -A 3 | grep 'Pss'|awk '{print $2}'` # echo "$ecpt, $SizeM, $RssM, $ThreadsNum" RSize=$(($RSize + $RssM)) #VSize=$(($VSize + $SizeM)) pss_sum=0 pss_shared_sum=0 pss_deleted_sum=0 #printf "%-20s,%-10u,%-10u,%-10u,%-10u,%-10u\n" $ecpt $SizeM $RssM $ThreadsNum $VSize $RSize #for pss_sigle in $PssM #do # pss_sum=$(($pss_sum + $pss_sigle)) #done #for pss_sigle in $PssSharedM #do # pss_shared_sum=$(($pss_shared_sum + $pss_sigle)) #done #for pss_sigle in $PssDeletedM #do # pss_deleted_sum=$(($pss_deleted_sum + $pss_sigle)) #done PSize=$(($PSize + $RssAnon)) printf "%-10s %-20s %-20u %-10u %-10u %-10u %-10u %-10u %-10u %-10u\n" $procid $ecpt $pss_deleted_sum $RssFile $RssShmem $RssAnon $RssM $ThreadsNum $PSize $RSize done done return 0 } printinfo() { printname printvalue free -m return 0 } printinfo