Chinaunix首页 | 论坛 | 博客
  • 博客访问: 85180
  • 博文数量: 12
  • 博客积分: 886
  • 博客等级: 准尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-06 10:50
文章分类

全部博文(12)

文章存档

2009年(1)

2008年(11)

我的朋友

分类:

2008-04-14 17:14:05

实战:HPUX主机freemem%计算脚本案例

 

背景:在XX项目,同时需要监控HP PAHP IA架构主机的freemem%信息。

 

 

解决方案讨论:

 

一、 totalmem的计算

方法1

#totalmem=`ssh $i -l root "echo phys_mem_pages/D | adb64 -k /stand/vmunix /dev/kmem|tail -n1"`

 

讨论:adb64只能用于PA架构主机,对于IA架构主机没有得到正确的结果

 

方法2

totalmem=`ssh $i -l root dmesg|grep -E 'Physical|Kbytes'|awk '{print $2}'`

 

讨论:dmesgtotalmem信息,有可能被其他信息缓冲掉,不一定能够得到正确的结果

 

方法3

totalmem=`ssh $i -l root grep Physical /var/adm/syslog/syslog.log |awk -F Physical: '{print $2}'|awk '{print $1}'`

 

讨论:该方法推荐,同时适用于PAIA架构主机

 

二、 freemem的计算

freemem=`ssh $i -l root grep Memory /tmp/top.out|awk '{print $8}'|awk -F "K" '{print $1}'`

 

 

讨论:该方法推荐,同时适用于PAIA架构主机

 

 

三、freemen%的计算

 

方法1

mem=$TIME" "`expr $freemem \* 100 / $totalmem`

 

讨论:expr适用于整型数值,当freemem比较大时。expr $freemem \* 100会超过范围得到负数结果。

 

方法2

mem=$TIME" "`echo "$freemem * 100 / $totalmem"|bc`

 

讨论:该方法推荐,同时适用于PAIA架构主机。且freemem比较大时,计算结果正常,不会得到负数结果。

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