免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2792 | 回复: 0
打印 上一主题 下一主题

[小机硬件] AIX平台查看最耗内存的N个进程(续) [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-11 19:26 |只看该作者 |倒序浏览

    如果想在AIX上部署mtop(),目的就是可以直接用mtop,只需在root用户下复制、粘贴下面的一堆代码就可以了:
export FPATH=${FPATH=/functions}
grep -qw FPATH= /etc/profile || echo export FPATH=$FPATH >>/etc/profile
[ -d $FPATH ] || mkdir $FPATH
cat ${FPATH}/mtop
function mtop {
#判断第一个参数是否是正整数
if ! (echo $1 | egrep -q ^[1-9][0-9]*$); then
cat
  $0 2
EOF
return
fi
#AIX6.1以前,普通用户不能使用svmon。
#解决方法:
http://bbs3.chinaunix.net/viewthread.php?tid=1024273
[ -f /usr/lib/perf/svmon_back.64 ] && SVMON=/usr/lib/perf/svmon_back.64 || SVMON=/usr/bin/svmon
#sq means single quotation
#dq means double quotation
$SVMON -Pt $1 | awk -v sq="'" -v dq='"' '
/^--/{a=1}
$1=="Vsid"{
  system("echo;ps alxww "pid"|awk -F: -v OFS=: "sq"length($0)>200{for(i=2;i<=NF;i++){gsub("dq" "dq","dq"
\\n"dq",$i)}}1"sq
)
  a=0
  }
a{print;if($1~/[1-9]/){pid=$1; s=s"\n"$1"\t"$3"\t"$3*4"\t\t"$2}}
END{print "\nSummary:\nPid\tInuse\tInuse_in_KBytes\tCommand"s}'
}
!
[ -f /usr/lib/perf/svmon_back.64 ] && chmod 555 /usr/lib/perf/svmon_back.64
之前实现的2项功能:
1、输出相关进程的命令全貌
2、对于长命令,在CMD中每个空格后补一个换行符
追加了4项功能:
3、判断参数是否正确,否则给出mtop()用法提示
4、结尾追加了summary部分
5、非root用户也可使用
6、用户登录后mtop()自动生效,但要求是KSH。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/739/showart_2118349.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP