#!/usr/bin/perl -w

$last_cmd="garbage";
open(PS, "ps -eo cmd,rss,vsize | sort -k 1|");
while (<PS>) { 
	if (/^(\S+).*\s+(\d+)\s+(\d+)$/) { 
		$cmd=$1;
		$rss=$2;
		$vsize=$3;
		#print "DEBUG $cmd $rss $vsize\n";
		if ($last_cmd ne $cmd) {
			if ($last_cmd ne "garbage" && $cmd_rss_total != 0 && $cmd_vsize_total != 0 )  {
				print "$cmd_rss_total $cmd_vsize_total $last_cmd\n" ;	
			}
			$cmd_rss_total=0;
			$cmd_vsize_total=0;
		}
		$cmd_rss_total+=$rss;
		$cmd_vsize_total+=$vsize;
		$rss_total+=$rss; 
		$vsize_total+=$vsize; 
		
		$last_cmd=$cmd;
	}
} 
print "# rss  vsize  # try # gvmemusage | sort -n \n";
print "$rss_total $vsize_total totals\n" ;
