#!/bin/bash
#
# This script gives a rough estimate of swap usage for a process.
#

args=("$@")

function usage()
{
    echo "meminfo <pattern>"
    exit
}

[ "" == "${args[0]}" ] && usage

psssum=0
swapsum=0

echo "Displaying results for processes matching pattern: ${args[0]}"
for pid in $(pgrep ${args[0]}); do 
    echo "$pid: "
    set $(awk 'BEGIN { p=0; s=0; }
        /Pss/ { p+=$2 }
        /Swap/ { s+=$2 }
        END { print p " " s }' /proc/$pid/smaps)
    pss=$1
    swap=$2

    echo -e "\tPSS: $pss kB"
    echo -e "\tSwap Usage: $swap kB"

    psssum=$(($psssum+$pss))
    swapsum=$(($swapsum+$swap))
done

echo -e "\nTotal PSS: $psssum kB"
echo "Total Swap Usage: $swapsum kB"



