Monday, March 21, 2011

Accurate calculation of memory utilization in Linux

We use

ps aux | awk '{sum +=$4}; END {print sum}' to find the total memory utilization excluding the buffers and cache. This one manipulates the wrong data at some instances. No idea why  .

So in addition to this we can adopt the below commands as wel..

free -m | grep "+" | awk {'print $3/$4*100'}

or more handy

U=`free -m | grep "+" | awk {'print $3'}`;F=`free -m | grep "+" | awk {'print $4'}`;echo "scale=2;$U/$F*100"| bc

There may be another ways as well. Comments please.