diff options
Diffstat (limited to 'bin/checkswap.sh')
| -rwxr-xr-x | bin/checkswap.sh | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/bin/checkswap.sh b/bin/checkswap.sh deleted file mode 100755 index 82ea867..0000000 --- a/bin/checkswap.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash - -# order by -by="swap" - -# reverse sort -rev="r" - -if [ ! -z "$1" ]; then - case "$1" in - -s|--swap|swap) - by="swap" - shift - ;; - -m|--memory|mem|memory) - by="memory" - shift - ;; - -n|--name|-p|--process|--program|name|proc|process) - by="name" - rev="" - shift - ;; - -h|--help|help) - echo "Statistics about all running processes." - echo "Usage: $0 [OPTION]" - echo " swap sort by swap usage (default)" - echo " memory sort by memory usage" - echo " name sort by process name" - echo " help print this help message" - exit 0 - ;; - *) - echo "Unrecognized option \"$1\"" >&2 - echo "Try -h instead." - exit 1 - esac -fi - -echo "Check memory and swap usage for all programs sorted by $by." -echo "" - -# loop over all running programs -for CMD in $(top -bn1 | tail -n +8 | grep -v $(basename "$0") | awk '{print $12}' | sort | uniq) -do - swap_count=0 - mem_count=0 - - # loop over all pids and check for 'VmSize' and 'VmSwap' state in /proc/$PID/status - for tmp in $( for PID in $(pgrep $CMD 2>/dev/null); do grep -E 'Vm(Size|Swap)' /proc/$PID/status 2>/dev/null | paste - - | awk '{print $2 "|" $5}'; done ) - do - mem_count=$(($mem_count+$(echo $tmp | cut -d\| -f1))) - swap_count=$(($swap_count+$(echo $tmp | cut -d\| -f2))) - done - - # programs swap use is not null - if [ $swap_count -gt 0 ] - then - case "$by" in - swap) - echo "$swap_count kB (Swap): $CMD $mem_count kB (Memory)" - ;; - memory) - echo "$mem_count kB (Memory): $CMD $swap_count kB (Swap)" - ;; - name) - echo "$CMD: $mem_count kB (Memory) $swap_count kB (Swap)" - ;; - esac - fi - -# sort by swap usage -done | sort -k1 -t\ -h${rev} | column -t |
