系统集成

分享你的在aix系统上优化方面的脚本命令

可能大家在工作中,客户或者自己想通过一些命令脚本来做些工作,遇到了很多的问题,这里想积累大家在工作中平常的经验或者已有的shell脚本,分享大家。大家可能在发脚本命令时,直接将命令发到上面可能出现问题,可以打包发附件,大家更好分析。1)显示10个消耗CPU最多的进程:# {ps aux |...显示全部
可能大家在工作中,客户或者自己想通过一些命令脚本来做些工作,遇到了很多的问题,这里想积累大家在工作中平常的经验或者已有的shell脚本,分享大家。

大家可能在发脚本命令时,直接将命令发到上面可能出现问题,可以打包发附件,大家更好分析。

1)显示10个消耗CPU最多的进程:
# {ps aux |head -1 ;ps aux |sort -rn +2 |head –10;}
(2)显示10个消耗存储空间最多的进程:
# ps aux |head -1 ;ps aux |sort -rn +3 |head -10
(3)按顺序显示系统中受罚的进程:
#ps -eakl |head -1 ;ps -eakl |sort -rn +5
(4)按优先级顺序显示系统中的进程:
#ps -eakl |sort -n +6 |head
(5)按处理时间为顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3|head –10
(6)按实际内存使用的多少顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head –10
(7)按换入页面的多少顺序显示系统中的前10个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10
(8)查看CPU的每隔十分钟的使用率
#set varible
integer cpu_us=0
integer cpu_sy=0
integer cpu_id=0
integer cpu_wa=0
integer n=0
#pick-up data and append to /sybase/log/cpu.data
cd /sybase/log
vmstat 2 2|grep "[0-9]"| grep -v "[a-zA-Z]"| awk '{print $14} {print $15} {print $16} {print $17}' >cpu.data
#calculate
while read -u3 line1 && read -u3 line2 &&read -u3 line3 &&read -u3 line4
do
  print "$line1:$line2:$line3:$line4"

  cpu_us=cpu_us+line1
  print "$cpu_us"
  cpu_sy=cpu_sy+line2
  print "$cpu_sy"
  cpu_id=cpu_id+line3
  print "$cpu_id"
  cpu_wa=cpu_wa+line4
  print "$cpu_wa"
  n=n+1
  print "$n"

done 3
  cpu_us=cpu_us/n
  cpu_sy=cpu_sy/n
  cpu_id=cpu_id/n
  cpu_wa=cpu_wa/n
  print "$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M) : cpu-us=$cpu_us : cpu-sy=$cpu_sy : cpu-id=$cpu_id : cpu-wa=$cpu_wa"

#output data
  print "$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M) : cpu-us=$cpu_us : cpu-sy=$cpu_sy : cpu-id=$cpu_id : cpu-wa=$cpu_wa" >>/sybase/log/cpu_`date "+%Y%m"`.log
#temp-data clean        
rm cpu.data
(9)查看内存每隔一段时间上的使用百分比
#set varible
integer mem_inuse=0
integer mem_free=0
integer mem_size
integer mem_pctusd
integer mem_int
integer mem_num
integer n=0

#pick-up data and append to /sybase/log/mem.data
cd /sybase/log
svmon -G -i 2 2|grep "^me" |awk '{print $3} {print $4}' >mem.data

#calculate
while read -u3 line1 && read -u3 line2
do
  print "$line1:$line2"

  mem_inuse=mem_inuse+line1
  print "$mem_inuse"
  mem_free=mem_free+line2
  print "$mem_free"
  n=n+1
  print "$n"

done 3  mem_inuse=mem_inuse/n
  mem_free=mem_free/n
  mem_size=`expr $mem_inuse+$mem_free`
  mem_pctusd=`expr $mem_inuse*10000/$mem_size`
  mem_int=`expr $mem_pctusd/100`
  mem_num=`expr $mem_pctusd-mem_int*100`
  print "$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M) : mem_inuse=$mem_inuse : mem_free=$mem_free : mem_pctusd=$mem_int.$mem_num%"      

#output data                                            
  print "$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M) : mem_inuse=$mem_inuse : mem_free=$mem_free : mem_pctusd=$mem_int.$mem_num%" >>/sybase/log/mem_`date "+%Y%m"`.log  

#temp-data clean                                                
rm mem.data

附件:

附件图标cpu_mem.zip (1.51 KB)

收起
参与29

返回cxhcjq的回答

“答”则兼济天下,请您为题主分忧!
cxhcjqcxhcjq软件开发工程师高伟达
这贴好!!
互联网服务 · 2011-06-10
浏览613

回答者

cxhcjq
软件开发工程师高伟达
擅长领域: 服务器AIXUnix

cxhcjq 最近回答过的问题

回答状态

  • 发布时间:2011-06-10
  • 关注会员:0 人
  • 回答浏览:613
  • X社区推广