AIX5.3下查看系统、用户、文件系统占用内存数量

AIX5.3下查看系统、用户、文件系统占用内存数量

#!/usr/bin/ksh

#查看总的内存数量:

totalmem=$(vmstat -v|head -n 1|awk '{print $1/256}')

echo "总内存(物理内存):"

echo $totalmem MB

echo

#查看各用户使用的内存:

usermem=$(for username in `cat /etc/passwd|awk -F: '{print $1}'`

do

svmon -U $username|grep $username" "

done)

usermem=`echo "$usermem"|grep -v "0        0        0        0"|awk '{print $1,$2/256,"MB"}'`

echo "各用户内存(物理内存):"

echo "$usermem"

usermem=$(echo "$usermem"|awk 'BEGIN{sum1=0;}{sum1=sum1+$2;}END{print sum1;}')

usermem=$(echo $usermem|awk -F. '{print $1}')

echo "用户内存(物理内存)合计:" $usermem MB

echo

#查看文件系统缓存:

clientmem1=`svmon -G|grep "^pin"|awk '{print $4}'`

clientmem2=`svmon -G|grep "^in use"|awk '{print $5}'`

clientmem=`expr $clientmem1 + $clientmem2`

clientmem=`expr $clientmem / 256`

echo "文件系统缓存(物理内存):"

echo $clientmem MB

echo

#查看系统使用内存:

sysmem=$(svmon -S -s -u|cut -b 54-|grep -v "0     0    0     0"|grep [0-9]|awk '{print $1,$2}')

supremeseg=`echo "$sysmem"|grep S|awk 'BEGIN{sum1=0;}{sum1=sum1+$2;}END{sum1=sum1*16*1024*1024;print sum1;}'`

largeseg=`echo "$sysmem"|grep L|awk 'BEGIN{sum1=0;}{sum1=sum1+$2;}END{sum1=sum1*16*1024;print sum1;}'`

mediumseg=`echo "$sysmem"|grep m|awk 'BEGIN{sum1=0;}{sum1=sum1+$2;}END{sum1=sum1*64;print sum1;}'`

smallseg=`echo "$sysmem"|grep s|awk 'BEGIN{sum1=0;}{sum1=sum1+$2;}END{sum1=sum1*4;print sum1;}'`

sysmem=$(expr $supremeseg + $largeseg + $mediumseg + $smallseg)

sysmem=$(expr $sysmem / 1024)

echo "系统内存(物理内存):"

echo $sysmem MB

echo

#查看空闲内存:

freemem=$(vmstat -v|grep free|awk '{print $1/256}')

echo "空闲内存(物理内存):"

freemem=$(echo $freemem|awk -F. '{print $1}')

echo $freemem MB

echo

参与19

17同行回答

wubin53wubin53系统管理员中国联通
不错,收藏了。显示全部
不错,收藏了。收起
电信设备制造商 · 2013-02-19
浏览2019

    提问者

    a3470194
    系统管理员北京瑞银信管理顾问有限公司
    擅长领域: 服务器数据库系统运维

    相关问题

    相关资料

    相关文章

    问题状态

  • 发布时间:2013-01-11
  • 关注会员:1 人
  • 问题浏览:15381
  • 最近回答:2015-09-24
  • X社区推广