shell swap 占用分析脚本

脚本一

for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr

 

脚本二

#!/bin/bash 

# Get current swap usage for all running processes 

# writted by xly 

 

function getswap {

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" 

}

 

getswap

#getswap|egrep -v "Swap used: 0"



你可能感兴趣的:(shell,swap)