#!/bin/bash

NXADM=/opt/netxms/bin/nxadm

nxpid=`ps -ef|grep netxmsd|grep -v grep|awk '{ print $2; }'`
while [ -z $nxpid ]; do
  echo 'netxmsd process not found; waiting...'
  sleep 1
  nxpid=`ps -ef|grep netxmsd|grep -v grep|awk '{ print $2; }'`
done
echo netmsd running with pid $nxpid
while true; do
  mem=`ps aux|grep netxmsd|grep -v grep|awk '{ print $6; }'` # consumed RSS in Kb
  if [ -z $mem ]; then
    echo 'netxmsd is dead'
    exit 1
  fi
  echo Current RSS: $mem
  if [ $mem -gt 1048576 ]; then
    echo 'netxmsd RSS > 1Gb, trying to shutdown'
    $NXADM -c down
    break
  fi
  sleep 1
done
echo All done
