@@ -36,11 +36,18 @@ if [ ! -d "$RRD/mem" ]; then
3636fi
3737
3838# Checking database
39+ if [ -e " $RRD /mem/mem.rrd" ]; then
40+ rrd_check=$( rrdtool info $RRD /mem/mem.rrd | grep " FREE" )
41+ if [ -z " $rrd_check " ]; then
42+ rm -f $RRD /mem/mem.rrd
43+ fi
44+ fi
3945if [ ! -e " $RRD /mem/mem.rrd" ]; then
4046 # Adding database
4147 rrdtool create $RRD /mem/mem.rrd --step $RRD_STEP \
4248 DS:RAM:GAUGE:600:U:U \
4349 DS:SWAP:GAUGE:600:U:U \
50+ DS:FREE:GAUGE:600:U:U \
4451 RRA:AVERAGE:0.5:1:600 \
4552 RRA:AVERAGE:0.5:6:700 \
4653 RRA:AVERAGE:0.5:24:775 \
5461# Parsing data
5562if [ " $period " = ' daily' ]; then
5663 mem=$( free -m)
57- ram=$( echo " $mem " | awk ' {print $3}' | head -n2 | tail -n1)
64+ used_ram=$( echo " $mem " | awk ' {print $3}' | head -n2 | tail -n1)
65+ used_cache=$( echo " $mem " | awk ' {print $3}' | head -n3 | tail -n1)
66+ used=$(( used_ram + used_cache))
67+
68+ free_ram=$( echo " $mem " | awk ' {print $4}' | head -n2 | tail -n1)
69+ free_cache=$( echo " $mem " | awk ' {print $4}' | head -n3 | tail -n1)
70+ free=$(( free_ram + free_cache))
71+
5872 swap=$( echo " $mem " | awk ' {print $3}' | tail -n1)
5973
6074 # Updating rrd
61- rrdtool update $RRD /mem/mem.rrd N:$ram :$swap
75+ rrdtool update $RRD /mem/mem.rrd N:$used :$swap : $free
6276fi
6377
6478# Updating rrd graph
65- rrdtool graph $RRD /mem/$period -mem.png \
79+ rrdtool graph $RRD /mem/$period -mem.png \
6680 --imgformat PNG \
6781 --height=" 120" \
6882 --width=" 440" \
@@ -81,6 +95,7 @@ rrdtool graph $RRD/mem/$period-mem.png \
8195 -c " ARROW#FFFFFF" \
8296 DEF:ram=$RRD /mem/mem.rrd:RAM:AVERAGE \
8397 DEF:swap=$RRD /mem/mem.rrd:SWAP:AVERAGE \
98+ DEF:free=$RRD /mem/mem.rrd:SWAP:AVERAGE \
8499 COMMENT:' \r' \
85100 AREA:ram#867995:" RAM " \
86101 GPRINT:ram:' LAST: Current\:' ' %8.0lf' \
@@ -89,7 +104,11 @@ rrdtool graph $RRD/mem/$period-mem.png \
89104 LINE1:swap#f57900:" SWAP" \
90105 GPRINT:swap:' LAST:Current\:' ' %8.0lf' \
91106 GPRINT:swap:' MIN:Min\:' ' %8.0lf' \
92- GPRINT:swap:' MAX:Max\:' ' %8.0lf\j' & > /dev/null; result=$?
107+ GPRINT:swap:' MAX:Max\:' ' %8.0lf\j' \
108+ AREA:free#1c74cd:" FREE" \
109+ GPRINT:free:' LAST: Current\:' ' %8.0lf' \
110+ GPRINT:free:' MIN: Min\:' ' %8.0lf' \
111+ GPRINT:free:' MAX: Max\:' ' %8.0lf\j' & > /dev/null; result=$?
93112
94113
95114# ----------------------------------------------------------#
0 commit comments