여러형식으로 보정을 해보았으나, nmon이나 topas의 network 전송량과는 조금 다른 수치를 보임... 
nmon 의 자체 로직과도 계산 방식은 동일하나 perfstat에 의해 계산되는 값이 측정 interval이나 산정 방식에 따라 약간의 차이가 나는 것으로 생각됨...




# cat net.sh
------------------------------------------------------------------------------------------------

#!/bin/sh


if [[ $# -ne 2 ]]

then

   echo 'Usage: net.sh <$interface_name> <interval:second> '

   echo ' ex. net.sh en0 2 '

   exit

fi


while true

do before_all=`entstat -d ${1} | grep Bytes | grep -v grep | head -n 1`

before_recv=`echo ${before_all} | awk '{print $2}'`

before_send=`echo ${before_all} | awk '{print $4}'`

sleep ${2}


after_all=`entstat -d ${1} | grep Bytes | grep -v grep | head -n 1`

after_recv=`echo ${after_all} | awk '{print $2}'`

after_send=`echo ${after_all} | awk '{print $4}'`


((send=(after_send - before_send)/(1024*${2})))

((recv=(after_recv - before_recv)/(1024*${2})))


DATE=`date +"%y/%m/%d %H:%M:%S"`


echo ${DATE} "          Recv KB/s:"$send" KB    Sent KB/s:"$recv" KB "


done

------------------------------------------------------------------------------------------------



블로그 이미지

Melting

,