Added to repository.
authorbvassche <bvassche@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Fri, 22 May 2009 11:02:45 +0000 (11:02 +0000)
committerbvassche <bvassche@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Fri, 22 May 2009 11:02:45 +0000 (11:02 +0000)
git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@882 d57e44dd-8a1f-0410-8b47-8ef2f437770f

scripts/monitor-memory-usage [new file with mode: 0755]

diff --git a/scripts/monitor-memory-usage b/scripts/monitor-memory-usage
new file mode 100755 (executable)
index 0000000..7e89b34
--- /dev/null
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+############################################################################
+#
+# Script for monitoring system-wide memory usage.
+#
+# Copyright (C) 2009 Bart Van Assche <bart.vanassche@gmail.com>.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation, version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+############################################################################
+
+#########################
+# Function definitions  #
+#########################
+
+function usage {
+  echo "Usage: $0 [-h] [-i <interval>]"
+  echo "        -h - display this information."
+  echo "        -i - monitoring interval in seconds."
+}
+
+
+#########################
+# Default settings      #
+#########################
+
+interval=10
+
+
+#########################
+# Argument processing   #
+#########################
+
+set -- $(/usr/bin/getopt "hi:" "$@")
+while [ "$1" != "${1#-}" ]
+do
+  case "$1" in
+    '-i') interval="$2"; shift; shift;;
+    '--') shift;;
+    *)    usage; exit 1;;
+  esac
+done
+
+if [ "$#" != 0 -o "${interval}" -le 0 ]; then
+  usage
+  exit 1
+fi
+
+
+####################
+# Performance test #
+####################
+
+printf "%-10s " "Time"
+cat /proc/meminfo \
+| while read label number unit
+  do
+    printf " %10s" ${label%:}
+  done
+echo
+
+while true
+do
+  printf "%-10d" $(date +%s)
+  cat /proc/meminfo \
+  | while read label number unit
+    do
+      printf " %10d" ${number}
+    done
+  echo
+  sleep "${interval}"
+done