Und genau das brauche ich! Wieso ist doch nebensächlich.Ein kurzes Shell-Script reicht da vollkommen.
#! /bin/bash
LIMFACTOR=0.8 # 80%
DELAY=10 # every 10 seconds
MAILTO=root # e-mail address
getMem() {
cat /proc/user_beancounters | grep privvmpages | \
awk 'BEGIN {OFMT="%i"; cur=0 }{ cur+=$2 } END {print cur}'
}
getLimit() {
cat /proc/user_beancounters | grep oomguarpages | \
awk -v f=$LIMFACTOR 'BEGIN {OFMT="%i"; lim=0 }{ lim+=$4 } END {print lim*f}'
}
if [ `whoami` != root ]; then
echo "$0: must be root"
exit 2
fi
echo "$0 started;"
echo "Press ^C to stop"
while true; do
current=`getMem`
limit=`getLimit`
if [ $current -gt $limit ]; then
let cmb=$current/256
let lmb=$limit/256
echo "Memory usage execeeds limit: $cmb MB of $lmb MB " |mailx -s "$0: memory w
arning" $MAILTO
fi
sleep $DELAY
done;
#
#!/bin/bash
softlimit=1000;
used=$(/usr/bin/free -mo | /usr/bin/awk '{ print $3 }' | /bin/sed -n '2p');
if [[ $used -gt $softlimit ]]
then
echo "Ihr System verbraucht mehr als $softlimit MB RAM: $used" | /usr/bin/mail -s "RAM > $softlimit MB " test@domain.de
fi
We use essential cookies to make this site work, and optional cookies to enhance your experience.