#!/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";