diff options
Diffstat (limited to 'memusg_git/memusg')
-rwxr-xr-x | memusg_git/memusg | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/memusg_git/memusg b/memusg_git/memusg deleted file mode 100755 index 9044a99..0000000 --- a/memusg_git/memusg +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash -# memusg -- Measure memory usage of processes -# Usage: memusg COMMAND [ARGS]... -# -# Author: Jaeho Shin <netj@sparcs.org> -# Created: 2010-08-16 -set -um - -# check input -[ $# -gt 0 ] || { sed -n '2,/^#$/ s/^# //p' <"$0"; exit 1; } - -# TODO support more options: peak, footprint, sampling rate, etc. - -pgid=`ps -o pgid= $$` -# make sure we're in a separate process group -if [ $pgid = $(ps -o pgid= $(ps -o ppid= $$)) ]; then - cmd= - set -- "$0" "$@" - for a; do cmd+="'${a//"'"/"'\\''"}' "; done - exec bash -i -c "$cmd" -fi - -# detect operating system and prepare measurement -case `uname` in - Darwin|*BSD) sizes() { /bin/ps -o rss= -g $1; } ;; - Linux) sizes() { /bin/ps -o rss= -$1; } ;; - *) echo "`uname`: unsupported operating system" >&2; exit 2 ;; -esac - -# monitor the memory usage in the background. -( -peak=0 -while sizes=`sizes $pgid` -do - set -- $sizes - sample=$((${@/#/+})) - let peak="sample > peak ? sample : peak" - sleep 0.1 -done -echo "memusg: peak=$peak" >&2 -) & -monpid=$! - - -# run the given command -exec "$@" |