Skip to content

Instantly share code, notes, and snippets.

@sugy
Last active August 29, 2015 14:25
Show Gist options
  • Save sugy/b58707b20cbcd6a6a8ed to your computer and use it in GitHub Desktop.
Save sugy/b58707b20cbcd6a6a8ed to your computer and use it in GitHub Desktop.
#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
# Updated: 2013-11-13 Yuichiro Saito
# Updated: 2015-07-21 Kazutoshi Sugiyama
function get_swap_used {
DIR=$1
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - (${PROGNAME})"
let OVERALL=$OVERALL+$SUM
SUM=0
}
SUM=0
OVERALL=0
if [[ $1 == '' ]]; then
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
get_swap_used $DIR
done
else
for PID in $(pgrep $1) ; do
get_swap_used /proc/$PID
done
fi
echo "Overall swap used: $OVERALL"
# vim:set ts=2 sw=2 et ws is nowrap:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment