All pastes #812261 Raw Edit

j.engelh

public text v1 · immutable
·published 2007-12-11 17:05 UTC
rendered paste body
#!/bin/bash
# This is the cronjob...

# get $RRDPATH
. common.sh;

function grab()
{
        grep "^$1:" /proc/meminfo | tr -s '[:blank:]' | cut -f2 -d " ";
}

total=`grab MemTotal`;
free=`grab MemFree`;
kernel=`grab SUnreclaim`;
if [ -z "$kernel" ]; then
        kernel=`grab Slab`;
fi
if [ -z "$kernel" ]; then
        kernel=0;
fi;
buffers=`grab Buffers`;
cached=`grab Cached`;
avail=$[$free + $buffers + $cached];
proc=$[$total - $avail - $kernel];
swaptotal=`grab SwapTotal`;
swapfree=`grab SwapFree`;
swapused=$[$swaptotal - $swapfree];

if [ ! -e "$RRDPATH/memory.rrd" ]; then
        rrdtool create "$RRDPATH/memory.rrd" --step 60 \
                DS:kernel_kb:GAUGE:120:U:U \
                DS:proc_kb:GAUGE:120:U:U \
                DS:buffers_kb:GAUGE:120:U:U \
                DS:cached_kb:GAUGE:120:U:U \
                DS:total_kb:GAUGE:120:U:U \
                DS:swapused_kb:GAUGE:120:U:U \
                DS:swaptotal_kb:GAUGE:120:U:U \
                RRA:LAST:0.5:1:$vtk;
fi;

rrdtool update "$RRDPATH/memory.rrd" \
        "N:$kernel:$proc:$buffers:$cached:$total:$swapused:$swaptotal";