OS별 메모리 사용량 (memory usage by os)
1 minute read
- Tested Environment : AIX, HP-UX, SunOS, Linux(RHEL)
OS_TYPE=$(uname)
case $OS_TYPE in
"Linux")
free | awk '{
if (NR==1){ if ($7=='available'){TYPE=1} else {TYPE=2} }
else if (NR==2){
if (TYPE==1) {printf "%3d%%\n", 100*($2-$7)/$2}
else {printf "%3d%%\n", 100*($2-$4-$6-$7)/$2}
}
}' ;;
"HP-UX") swapinfo -tam |grep ^total |awk '{printf "%4s\n", $5}' ;;
"SunOS") top -b 0 |grep Memory | awk '{
TOTAL=substr($2, 0, length($2)-1);
if ( index($2, "G") > 0 ) { TOTAL=TOTAL; }
else if ( index($2, "M") > 0 ) { TOTAL=TOTAL/1000; }
else if ( index($2, "K") > 0 ) { TOTAL=TOTAL/1000/1000; }
else { TOTAL=TOTAL/1000/1000/1000; }
FREE=substr($5, 0, length($5)-1);
if ( index($5, "G") > 0 ) { FREE=FREE; }
else if ( index($5, "M") > 0 ) { FREE=FREE/1000; }
else if ( index($5, "K") > 0 ) { FREE=FREE/1000/1000; }
else { FREE=FREE/1000/1000/1000; }
printf "%3d%%\n", 100*(TOTAL-FREE)/TOTAL }'
;;
"AIX")
if [ $(uname -v) -ge 7 ]
then
vmstat -v |grep computational |awk '{printf "%3d%%\n", $1}'
else
vmstat -v |egrep "memory pages|free pages|file pages" |awk '{
if (NR==1) {TOT=$1}
if (NR==2|NR==3) {FREE=FREE+$1}
}
END { printf "%3d%%\n", 100-(FREE/TOT*100) }'
fi
;;
# svmon -G -O unit=GB |grep ^memory| awk '{printf "%3d%\n", 100*$3/$2}' ;;
*) echo "Unkwon OS Type ${OS_TYPE}"
exit 1
;;
esac
exit 0
Comments