Chinaunix首页 | 论坛 | 博客
  • 博客访问: 546779
  • 博文数量: 32
  • 博客积分: 5359
  • 博客等级: 大校
  • 技术积分: 1535
  • 用 户 组: 普通用户
  • 注册时间: 2005-01-04 20:39
文章分类

全部博文(32)

文章存档

2011年(1)

2010年(1)

2009年(6)

2008年(24)

我的朋友

分类:

2009-12-11 19:26:54

    如果想在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 < List the top processe(s) using memory. Written by at 2009-12-08.
 Example: $0
  $0 2
EOF
return
fi
#AIX6.1以前,普通用户不能使用svmon。
#解决方法:
[ -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" )
  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。

阅读(2141) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-01-12 00:39:24

好的,张云霸。公司禁上BLOG网站,所以较少上来了,才看到你的留言。:)

chinaunix网友2010-01-10 23:26:52

你好 我去深圳一定找你喝酒 嘿嘿 谢谢兄技术专家

chinaunix网友2009-12-30 21:07:33

Happy new year! electronic at http://mp3dejay.com/Electronic/Genre-id299/