Xymon Mailing List Archive search

Memory utilization reporting for HP-UX 11.31 ia64

1 message in this thread

list innate.ideas · Tue, 08 Mar 2011 18:48:02 -0800 ·
Here is an updated script we use to report memory utilization on HP-UX 11.31 ia64. The obnoxious part is that it requires a sudoer entry for the Xymon user to run /usr/bin/adb.

#!/usr/bin/ksh
#
#  This has been modified to compensate for ia64 reporting inaccuracy from swapinfo.  It does in the case of ia64 require a
#  sudo entry to allow the user to execute a /usr/bin/adb command.
#
# 10 DEC 2010 Daniel Grahek
# This script properly calculates memory values on HP-UX systems where memory
# page size has been increased. Tested on HP-UX 11iv3 Itanium with 8k, 16k, and 64k
# memory page sizes.
#
#  This has been modified to compensate for ia64 reporting error from swapinfo.  It does in the case of ia64 require a
#  sudo entry to allow the Xymon user to execute a /usr/bin/adb command.
# sudoers entry something this should work: BB      ALL=NOPASSWD: /usr/bin/adb
#
#This script replaces the binary hpux-meminfo in client/bin directory.
#version 1.2
# Distributed under GPL v2 license.
#


HARDWARE=`uname -m`
if [ "$HARDWARE" = "ia64" ]
then
    FREEPAGES=`echo "freemem /2d" | /usr/local/bin/sudo /usr/bin/adb /stand/vmunix /dev/kmem 2>/dev/null |tail -1 |awk {
'print $2'}`
    PAGESIZE=`/usr/sbin/kctune base_pagesize |tail -1 |awk {'print $3'}`
    FREEMEM=`/usr/bin/expr $FREEPAGES \* $PAGESIZE`
    FREEREPORT=`/usr/bin/expr $FREEMEM / 1024`
    TOTAL=`/usr/sbin/swapinfo |grep ^memory |awk {'print $2'}`
    TOTALREPORT=`echo $TOTAL / 1024 |/usr/bin/bc`
else
    FREE=`/usr/sbin/swapinfo |grep ^memory |awk {'print $4'}`
    FREEREPORT=`echo $FREE / 1024 |/usr/bin/bc`
    TOTAL=`/usr/sbin/swapinfo |grep ^memory |awk {'print $2'}`
    TOTALREPORT=`echo $TOTAL / 1024 |/usr/bin/bc`
fi
echo Total:$TOTALREPORT
echo Free:$FREEREPORT