Skip to content

Instantly share code, notes, and snippets.

@himika
Forked from koemu/getswap.sh
Last active August 29, 2015 14:21
Show Gist options
  • Save himika/624e1fca439cfe9e7cc7 to your computer and use it in GitHub Desktop.
Save himika/624e1fca439cfe9e7cc7 to your computer and use it in GitHub Desktop.
各プロセスのスワップ使用量を調べる。sudo不要(シェルスクリプト側で実行)
#!/bin/sh
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
# Updated: 2013-11-13 Yuichiro Saito
# Updated: 2015-05-25 Himika
#
# https://gist.github.com/koemu/8015682
# http://northernmost.org/blog/find-out-what-is-using-your-swap/
#
# For instance, to find the process with most swap used, just run this script like so:
# $ ./getswap.sh | sort -n -k 5
#
# Don’t want to see stuff that’s not using swap at all?
# $ ./getswap.sh | egrep -v "Swap used: 0" | sort -n -k 5
sudo -k
sudo sh <<'SCRIPT'
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
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
done
echo "Overall swap used: $OVERALL"
SCRIPT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment